Cozy Ozy このページをアンテナに追加 RSSフィード

2017-11-27 ごめんなさぃぃ

[]ごめんなさぃぃ ごめんなさぃぃ - Cozy Ozy を含むブックマーク

発売して安心しきっていたら、誤植だらけとのレビューが!

ほんまかいなーと思ってちょっと調べたら、

http://hmatsu47.hatenablog.com/entry/2017/03/05/224137

こんな記事も!!


買ってくださった皆さま、本当にごめんなさい。

本書の9割くらいは私が翻訳しましたが、最初の方(普通の文章)の部分はノータッチのだったため校正できておらず、今日まで全く知りませんでした。最初の数ページは本の印象に大きな影響を与えるわけですから、自分の眼できちんとチェックすべきでした。ホント情けない…。

修正の依頼をしましたところ、電子版は年内には修正版を出してくれるそうです。

他にもないかチェックしていきますが、もしお気づきの点がございましたらご指摘いただけると大変ありがたいです。

2017-02-17 世界で闘うプログラミング力を鍛える本

[]世界で闘うプログラミング力を鍛える本 世界で闘うプログラミング力を鍛える本 - Cozy Ozy を含むブックマーク

前著『世界で闘うプログラミング力を鍛える150問』から4年、米国ベストセラーの"Cracking the Coding Interview"の新版(第6版)の邦訳『世界で闘うプログラミング力を鍛える本 〜コーディング面接189問とその解法〜』が完成しました!2月27日発売予定です!!

発売記念プレゼント問題!

CodeIQから発売記念プレゼント問題を出題しています!(3月7日AM10:00まで)

不正解でも挑戦していただければ抽選対象になりますので、プログラミングに自信のない方も是非チャレンジしてみてください!


超ボリューム!もはや別本!!

第5版と比べ、問題の追加・解法の全体的な修正を行いました。特に計算量に関しては、各問題の解法に計算量に関する記述を追加しただけではなく具体的な例をたくさん含んだ解説や練習問題が追加されています。189問の面接問題にはすべてヒントが与えられ、できるだけ自分の頭を使って取り組むための工夫がされています。

300頁以上を追記し、既存の内容も半分近くを修正した結果、もはや前著とは別の本と言ってもよい程の仕上がりになりました。単にページ数が増えただけではなく、前述の計算量に加え、木・グラフ・探索に関する記述が大幅に増え、プログラミング技術書として非常にバランスが良くなりました。

f:id:Ozy:20170217142513j:image

これは原著の第5版(右)と第6版(左)です。本を開かなくても、そのボリュームの差を感じることができると思います。

スリムボデー

鈍器のような第6版ではありますが、翻訳版は非常にスリムボデーとなっております。

f:id:Ozy:20170217142755j:image

前著(右)と比較して、ほとんど厚みに差がないことがわかると思います。

f:id:Ozy:20170217143642j:image

原著と比較するとよくわかりますね。

競技プログラミングとの違い

1つ注意点としていただきたいのは、本書は競技プログラミング向けの書籍ではないということです。あくまで『採用面接の攻略本』というスタンスであることに注意してください。競技プログラミングの勉強がしたければ、『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』や『プログラミングコンテストチャレンジブック』をお勧めします。

採用面接の問題は、議論の『種』としてあいまいな要素が含まれることが多くなっています。また、面接官と対話的に進めることが前提であるため、必ず最初から最適解を答えなければならないというわけでもありません。問題の範囲を自分で(あるいは対話的に)定義し、どのようにアプローチするか、どのように改良するかを説明する能力を養うことが目的です。

競技プログラミングの経験をそれなりにお持ちの場合は、競技プログラミングで必要なスキルと本書の内容との間に、どの程度ギャップがあるのか調べてみるのも面白いかもしれません。たとえば、ダイクストラ法やトポロジカルソートは、本書では『より高度の話題』に分類されており、必ずしも知っている必要はないという位置付けです。

目次

  • I. 面接の流れ
    • 「なぜ?」
    • 問題はどう選ばれるか
    • すべては相対的
    • FAQ:よくある質問
  • II. 面接試験の舞台裏
  • III. 特殊な状況
    • 職歴の長い候補者
    • テスターとSDET
    • プロダクト/プログラム・マネージャ
    • 開発リーダー/マネージャ
    • スタートアップ企業
    • 合併や買収による人材獲得
    • 面接官に向けたアドバイス
  • IV. 面接の前に
    • 良い経験を得る
    • 履歴書の書き方
    • 準備表
  • V. 行動に関する質問
    • 面接準備の表
    • 技術的プロジェクトについて整理する
    • 行動に関する質問への対応
    • 「では、あなた自身のことについて聞かせてください……」
  • VI. ビッグ・オー記法(Big O)
    • 簡単な例
    • 時間計算量
    • 空間計算量
    • 定数を捨てる
    • 影響の少ない項を捨てる
    • 複数パートから成るアルゴリズムの計算時間: 足すべきか掛けるべきか
    • 償却計算量
    • Log N 実行時間
    • 再帰の実行時間
    • 例題と練習
  • VII. 技術的な質問
    • どうやって準備するか
    • 知っておくべきこと
    • 問題攻略ガイド
    • 最適化と解答テクニックその1:BUDをさがそう
    • 最適化と解答テクニックその2:DIYの精神で
    • 最適化と解答テクニックその3: 単純化と一般化
    • 最適化と解答テクニックその4: 初期状態からの積み上げ
    • 最適化と解答テクニックその5: データ構造総当たり
    • BCR
    • 正しくない解答の扱い
    • 問題を以前に聞いたことがあるとき
    • 面接の「最強」言語
    • 良い、きれいなコードとは
    • あきらめないで!
  • VIII. オファーとその後
    • オファーと不採用の取り扱い
    • オファーの評価
    • 交渉
    • 仕事をしていく上で
  • IX. 問題

[データ構造]

    • Chapter 1 | 配列と文字列
    • Chapter 2 | 連結リスト
    • Chapter 3 | スタックとキュー
    • Chapter 4 | 木とグラフ

[考え方とアルゴリズム]

    • Chapter 5 | ビット操作
    • Chapter 6 | 数学と論理パズル
    • Chapter 7 | オブジェクト指向設計
    • Chapter 8 | 再帰と動的計画法
    • Chapter 9 | スケーラビリティとシステムデザイン
    • Chapter 10 | ソートと探索
    • Chapter 11 | テスト

[知識ベース]

    • Chapter 12 | CとC++
    • Chapter 13 | Java
    • Chapter 14 | データベース
    • Chapter 15 | スレッドとロック

[追加練習問題]

    • Chapter 16 | 中級編
    • Chapter 17 | 上級編
  • X. 解法

[データ構造]

    • Chapter 1 | “ 配列と文字列”の解法
    • Chapter 2 | “ 連結リスト”の解法
    • Chapter 3 | “スタックとキュー”の解法
    • Chapter 4 | “ 木とグラフ”の解法

[考え方とアルゴリズム]

    • Chapter 5 | “ビット操作”の解法
    • Chapter 6 | “ 数学と論理パズル”の解法
    • Chapter 7 | “オブジェクト指向設計”の解法
    • Chapter 8 | “ 再帰と動的計画法”の解法
    • Chapter 9 | “スケーラビリティととシステムデザイン”の解法
    • Chapter 10 | “ソートと探索”の解法
    • Chapter 11 | “テスト”の解法

[知識ベース]

    • Chapter 12 | “CとC++”の解法
    • Chapter 13 | “Java”の解法
    • Chapter 14 | “データベース”の解法
    • Chapter 15 | “スレッドとロック”の解法

[追加練習問題]

    • Chapter 16 | “中級編”の解法
    • Chapter 17 | “ 上級編”の解法
  • XI. より高度な話題
    • 役に立つ数学
    • トポロジカルソート
    • ダイクストラ
    • ハッシュテーブルの衝突処理
    • ラビン-カープ文字列検索
    • AVL木
    • 赤黒木
    • マップリデュース
    • さらに学びたい人へ
  • XII. コードライブラリ
    • HashMapList<T, E>
    • TreeNode(二分探索木)
    • LinkedListNode(連結リスト)
    • Trie & TrieNode(トライ木)
  • XIII. ヒント
    • [データ構造]のヒント
    • [考え方とアルゴリズム]
    • [知識ベース]のヒント
    • [追加練習問題]のヒント
  • 索引
  • プロフィール

※BUDって何?

目次を見て気になった方もいらっしゃるかもしれませんので、簡単に説明しておきます。BUDとは、

  • Bottlenecks(ボトルネック)
  • Unnecessary work(不必要な作業)
  • Duplicated work(重複する作業)

の頭文字で、これらは実行時間を無駄に消費する三大要素です。BUDを探し、修正するということを繰り返しながら、アルゴリズムの最適化を行うと良いですよという文脈で登場します。

katskats 2017/03/01 23:41 邦訳ありがとうございます。
旧版は電子書籍 ( http://tatsu-zine.com/books/cracking-the-coding-interview )で購入しました。今回もできれば電子書籍版がほしいのですが予定はありますか?
(あるとすればいつくらいでしょう?)

OzyOzy 2017/03/02 13:10 コメントありがとうございます。
電子書籍版が出る予定はあるみたいですが、いつなのかは今のところ不明です。
出版社の方に問い合わせてみましたので、わかり次第このコメント欄に書いておきます!

katskats 2017/03/02 20:26 ありがとうございます!お待ちしております。

OzyOzy 2017/03/10 11:10 本日(3月10日)、電子書籍版も発売したみたいです!

https://book.mynavi.jp/manatee/books/detail/id=65836

katskats 2017/03/10 20:58 おお、早い。助かりました。ありがとうございます!

2015-01-06 出るデ(`ω´)

[]出るデ(`ω´) 出るデ(`ω´) - Cozy Ozy を含むブックマーク

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』という本が出ますよ!

プロコン本と言えば、

が定番だと思いますが、これだとちょっと難しい!と感じている人には特におすすめです。

詳細はid:iwiwi:20150105を見てくださいということで、ここでは簡潔に本書の売りを挙げておきます。


AOJに連動!

国内オンラインジャッジの最高峰Aizu Online Judge (AOJ)で出題される問題の、基礎的なものと連動しています。

具体的には、以下の画像のあたりです。

f:id:Ozy:20150106024006p:image

先に問題を解いてみてから読むもよし、導入部分や解説部分を読んでみてから解くもよし、というかんじで、好きなように使うことができます。


ボリューム・バランス良し!

アルゴリズムとデータ構造の書籍は本当にたくさんありますが、本書ではグラフ・幾何あたりに結構な頁を割いています。この辺は初心者向けにわかりやすく説明するのが結構面倒で、あまり書きたくないところではありますが、かなり丁寧に解説されています。プログラミングコンテストチャレンジブック』にピッタリの土台となるように、各分野であまり突っ込みすぎないように、かつ物足りなさを感じさせないように、絶妙なバランスがとられています。著者の渡部先生は、本当に良い仕事をされたと思います。


まあそんなわけで

1人4294967296冊くらい買うとよいと思うよ!


オマケ

CodeIQで発刊記念問題を出題します!

もちろん何冊かプレゼントしたいと考えてますので、お楽しみに!!

詳細が決まり次第ここに追記するので、とりあえずamazonで18446744073709551616冊ほど予約したあと待機な(`ω´)

追記(1月22日)

f:id:Ozy:20150122213618p:imagef:id:Ozy:20150122213618p:imagef:id:Ozy:20150122213618p:image

というわけで、出題しました!

わんにゃんキャッスルという問題です。

マイナビ様から提供いただいた2部に加えて、著者から3部!

あわせて5部もプレゼントしますよ!

じゃんじゃんチャレンジしちゃってください!!

f:id:Ozy:20150122213618p:imagef:id:Ozy:20150122213618p:imagef:id:Ozy:20150122213618p:image

2014-02-08 プログラマのためのコードパズル

[]プログラマのためのコードパズル ~JavaScriptで挑むコードゴルフとアルゴリズム プログラマのためのコードパズル ~JavaScriptで挑むコードゴルフとアルゴリズム - Cozy Ozy を含むブックマーク

224ページに私のゲージツ的な最短コードが掲載されていて、それだけでも2147483648冊くらい買う価値があると思います!とか書くと逆に売り上げが落ちそうな気がしますので、普通に内容を紹介しておきましょうかね。


CodeIQでJavaScriptのゴルフ問題が多数出題されましたが、それが本になったというやつです。問題数が10問くらいで、問題1つひとつのボリュームが結構大きめです。参加したことがある方ならわかると思いますが、最短記録でも100文字・200文字当たり前!って問題が結構あるので、基本的なテクニックを体系的に学ぶには、少々気合が必要かな、と感じました。単純にゴルフテクニックを身に付けたいという人は、90〜106ページ辺りを先に読んでしまった方が良いかもしれません。実際に出題されたもの以外に、ものすごく簡単な例題みたいなのがあれば、(ゴルフテクニックとしては)よりわかりやすいのかもしれませんが、まあ悩ましいところですね。全体的にはCodeIQで出題された問題の、アルゴリズムの部分に関する解説が多めの印象があります。JavaScriptということもあって、問題の作り方とか、「自分でもやってみよう」みたいな気持ちになりやすいんじゃないでしょうか。単なるゴルフ本ということではなくて、ある程度実用性を考えた構成になっています。「コードゴルフなんて何の役にも立たねーよ!!」と思っている人にでも、そこそこ役に立つレベルで解説されているので良いんじゃないでしょうかね。


CodeIQの問題を見てて、ブラウザ上で正解・不正解の判定が即座にできるというのは大きな強みで、自分もそういうの作ってみようかなと思っていたので、参考になりました。というか、こっちの本が届く前に

これ買っちゃったよ(´Д`;)

2012-11-06 世界で闘うプログラミング力を鍛える150問

[]世界で闘うプログラミング力を鍛える150問 〜トップIT企業のプログラマになるための本〜 世界で闘うプログラミング力を鍛える150問 〜トップIT企業のプログラマになるための本〜 - Cozy Ozy を含むブックマーク

概要は色んなところで書かれているので省略。

http://d.hatena.ne.jp/iwiwi/20121029/1351510498

を参照してください。

原著は米国で出版されたもので、日本国内向けとしては就職・転職を考えている人よりも、純粋にプログラミングの練習がしたい人がターゲットになるでしょうという仮定で翻訳を進めてきました。

実際その通りだと思いますが、一通り翻訳作業を終えて感じるのは、たとえ異国の就職対策本であったとしても、日本国内の人間が自分自身のキャリアについて考えるのに、十分役に立つ内容だということです。

大学等で、専門的にプログラミングを学んでいる学生にとっては物足りない分野があるかもしれませんが、逆に全く知らなかった分野があるかもしれません。本書に出てくるのは、様々な分野の「平均的な」レベルの内容であることを忘れないでください。

自分自身の立ち位置を確かめてください。自分自身のキャリアをどう積み上げていくのかよく考えてください。自分の人生だって、1つの巨大なプロジェクトです。

あなたは、将来「有能なチームメイト」となる人間の一人です。

どうか自信を持って!

新しい世界や人の心に一歩だけ踏み込む勇気を持ってください。

応援しています。

2010-09-11 プログラミングコンテストチャレンジブック

[]プログラミングコンテストチャレンジブック プログラミングコンテストチャレンジブック - Cozy Ozy を含むブックマーク

ついに出た!!!!!!!!

プログラミングコンテストチャレンジブック

プログラミングコンテストチャレンジブック

amazonで即予約したのに13日〜15日発送などという酷いメールが届いたので、近所の書店へダッシュして参りました。

本当は全部読んでから紹介記事を書こうと思っていたのですが、CHAPTER 3の途中まで読んだ時点ですでに素晴らしかったので早々にキーボードを叩いているわけであります。これはね、プログラミングを学ぶすべての学生に読んでほしい。何が素晴らしいかって言うと、

・データ構造やアルゴリズムの基本的なことを網羅している

・割と平易な言葉で簡潔に説明されている

・具体例が多い

・計算量を常に意識している

本書の構成が、扱う問題の難しさで初級・中級・上級と大きく分かれていて、それぞれのレベルで多くのアルゴリズムがバランスよく解説されているので、自分の苦手なところがちょろっとしか書かれていないなんてことは少ないんじゃないかな、と思います。たとえばグラフについてであれば、初級から上級まで、毎回結構なページを割いて例題と解説が書かれているので、自分の興味ある分野だけに絞って初級→中級→上級みたいに読み進めることもできて、内容的にも充実しています。パッと見以上に内容の濃い本ですね。

あと、計算量についても最初の例題からちゃんと書かれていることにとても好感が持てます。プログラミングコンテストに限らず、仕事でも趣味でも、最初に実行速度とかメモリの消費量についての見積もりができないプログラマはウンコプログラマだと私は思うので、その辺を強く意識させる作りというのは大好きです。

で、どうしてこんなにベタ褒めなのかというと、別に献本してもらったわけでもお金をもらったわけでもサインを貰ったわけでもなくて、「自分が書いてみたかった本」にかなり近いというのが大きな理由かもしれません。ショートコーディングを本格的に書くとき、最初は本書のような構成をイメージしていました。でも書き進めるうちに、色んな分野で力不足を感じていたんです。DPとかグラフの問題を、ある程度やったことはあるけど、まとまった文章を書こうとすると何か物足りないんですよね。で、最終的にはあんな形に仕上がったわけですが。

あの時監修してくださったやねさんも、きっと本書のような出来上がりを期待していたに違いないと思います。今だから書きますが、ショートコーディングをある程度書き上げてからやねさんに査読をお願いしたとき、ナニコレ(゜□゜)的なオーラをビンビン感じました。もちろん大人なので口に出したりはしなかったですが、きっとそうですよね^^;

…と、いつの間にかショートコーディングの話になっていた(´д`;)ごめんなさい

まあ、何が言いたいかっていうと、自分が「こんな本が欲しい」って思っていたものが、ずば抜けた能力と確かな実績を持った若者の手によって生み出された。最高じゃないですか!ってことです。繰り返しになりますが、これからプログラミングを勉強する学生は100回くらい読みなさい!と言いたい。

でね、もっともっと気軽にプログラムを書く機会を増やしていって欲しいな、と思います。私は最近娘が生まれて、仕事にも追われていて、ちょっと忙しい日が続いているんだけれども、それでもプログラムはちょくちょく書くし、これからも続けていきます。もうちょっと落ち着いたら、コンテストへの出場をどんどん増やしていきたいな(´ー`)

日本人向けのAOJもできたことだし、皆もどんどんチャレンジしようぜ!!

fkmfkm 2010/09/11 21:21 なんだか先に書かれちゃったという感じです><
本はやっぱり実力のある方が書くのが一番ですねぇ。。。

OzyOzy 2010/09/11 22:02 実力っちゅうか、経験が豊富で実績のある人が良いですね。説得力がぜんぜん違いますから(´ー`)

七氏七氏 2010/11/03 21:58 いい加減にしてもらいたいです。Google翻訳もそうですが、その訳を信用するうちの家族、親戚連中。さっき日本の母からシドニーにいる私にあわてて電話が。「あんたの勤めてる学校、北朝鮮の学校なんやって!?」「はぁ??」どうやら家の勤務先の学校のホームページをWiki(英)にいれて、Google翻訳したところ、'Sydney North Shore'をシドニーの北朝鮮にある…云々と訳したみたいです。って、北朝鮮がシドニーにあるのか!気付けよ!と、母にも怒りをおぼえました。

2010-05-31 お知らせ色々

[]そのまま使えるiPhoneアプリプログラム そのまま使えるiPhoneアプリプログラム - Cozy Ozy を含むブックマーク

Seasonsさんの著書

そのまま使える iPhoneアプリプログラム

そのまま使える iPhoneアプリプログラム

私はiPhoneもintel入ってるMacもiPadもまだ手元に無くて、あまり突っ込んだことが書けないのだけれども、とりあえず発売記念ということで。具体的なコード例がいっぱい詰まった感じなので、プログラムを書きなれてない人はどんどん真似したらいいんじゃないかなーと思います。懐かしいな、OpenGL(´ー`)

Mac買ったら私もじゃんじゃんアプリ作ります。

2010-03-31 ショートコーディングは糞本ですよ

[][]ショートコーディングは糞本ですよ ショートコーディングは糞本ですよ - Cozy Ozy を含むブックマーク

http://www.amazon.co.jp/gp/pdp/profile/A1T5VY0M1619SO/ref=cm_cr_pr_pdp

こけおどしの題名だけの糞本。

キャリーやボローフラグが使えない言語で1文字でも短くする伝説のコードなんて笑える。xor eax,eax

まあ、アセンブリが埋め込めるわけで普通に使えるんだけどな。というか、他の商品のレビューが他分野過ぎてワロタ。あと、そんなフラグが必要なコードは大概普通にCで書けばもっと短くできると思う。

それから、かなり前に書かれたレビューなのだけど、

http://www.amazon.co.jp/gp/pdp/profile/A2RFPAU012FEHQ/ref=cm_cr_pr_pdp

いつもいい方法がないか気になっていたことがこの本で解決しましたよ。

あまりにも単純明快だったので、目から鱗がってかんじですよ。

この世界は発想の柔軟さが必要だとあらためて実感しました。

これも気になる。正直言って、半分以上は単純明快だとは思わないし、この本で解決するような問題って何なのだろうか(´Д`;)

2009-06-09 Short Coding本在庫発見!

[][]Short Coding本在庫発見! Short Coding本在庫発見! - Cozy Ozy を含むブックマーク

紀伊国屋とジュンク堂の在庫が少し復活しているみたいです。ネットで調べられる分はほとんど調べたと思いますが、現状(定価で)手に入るのは以下の3店だと思います。amazonは高いから買っちゃらめえぇぇぇ!

紀伊國屋書店

ジュンク堂書店

JBOOK


以前のエントリ

Short Coding本在庫

ショートコーディングはまだ買えるの?

yaneuraoyaneurao 2009/06/09 19:31 マイコミの方針で増刷しないことがわかった時点で、買い占めて、あとでアマゾンで売ったら儲かったりしてね…。

2009-05-24 ショートコーディングはまだ買えるの?

[][]ショートコーディングはまだ買えるの? ショートコーディングはまだ買えるの? - Cozy Ozy を含むブックマーク

amazonがあまりもに酷いので、頑張って調べてます。

以前Short Coding本在庫で書いたとおり全然売ってなさそうですが、fkmさんのコメントにあったブックストア談という書店のオンラインショップJBOOKではまだ買えそうです。だからって買い占めたやつをamazonに出品しないでね(;´д`)