サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
インタビュー
www.sakatakoichi.com
著者買いすべき本! ファウラー、ジョエルは知名度もあり、改めて僕がどうこう紹介する必要はないと思うけど、ここではスティーブ・マコネルを特に推したい。 読んだ人には非常に高い評価を得ているけれど、その分厚さや価格もあってなかなか広まっていない。 特にCode Completeはすべてのエンジニアが必ず読むべき本だと思ってる。 これを読んで理解する/しないが(職業プログラマとしての)初級と中級の境界だと言えるくらい。 タイトルにはCodeとあるけど、別にコーディングをターゲットにした本ではない。 設計、テストも含めてコーディングを考えている。当たり前だがコーディングだけではコーディングはできないからだ。 上下巻1,200ページの大作だし、2冊で12,000円だがその価値は大いにある。 スティーブ・マコネル ソフトウェア見積り―人月の暗黙知を解き明かす 作者: スティーブマコネル,久手堅憲之,S
クラウドではアーキテクチャやプログラミングモデルが今までと変わる。 QConでは複数の人からそういう話が出ていた。 ちょっと自分なりにまとめてみる。間違っているかもしれないので、見つけた人はご指摘ください。 新しいACID 従来のモデルでのACIDは、特にRDBMS関連でよく耳にすると思う。 Atomic(原子性) Consistent(一貫性) Isolated(独立性) Durable(永続性) だ。 QConでGoogleのGregor Hohpe氏は、クラウドにおいてACIDは次のような意味になると言っていた。 資料はここ。https://sites.google.com/site/gcodejp/slides/ProgrammingCloud_QCon.pdf?attredirects=0 Associative(結合の) Commutative(相互の) Idempotent(
Eclipseファウンデーションへ移管されたJava EEの新名称が決まりました。 And the Name Is… | Life at Eclipse "Jakarta EE"です。 "Jakarta EE" or "Enterprise Profile"の決選投票が2/23までありました。7000弱の投票のうち65%が"Jakarta EE"へ票を入れています(私もです)。 なぜJava EEから変えるの?Java EEのままでいいんじゃない? むしろJava EEのままにできないから変えるというのが正しいです。こちらの記事に詳しいです。翻訳者は私です。 www.infoq.com "Java EE"に含まれるJavaという単語はオラクルの登録商標です。そのため、Eclipseファウンデーションへの移管が決定したタイミングで、オラクルから"Java EE"および"javax.x"パッケ
GraalVMが1.0.0 RC1を出し、公式サイトを公開しました! http://www.graalvm.org/ 日本の技術ブログメディアPublickeyさんも取り上げておられます。 www.publickey1.jp そのこともあって、Graalで検索しこのブログへたどり着いた方も多かったです。私は1年ほど前、0.23の頃からGraalVMとGraal(両者の違いは後述)を触ってきました(単に触っているだけの1ファンです)。おそらく熱狂的なファンの方で、JavaOneではGraalとあるものは全セッション入りましたし、YouTubeにある世界の技術カンファレンス動画でGraalに関するものはおそらくすべて見ています。 なので自己満足がてらGraalVMについて書いていきます。 GraalVMって何なの? 端的に言うと"Polyglot VM"です。Polyglotとは多言語を意味し
ひそかに僕のエントリーで一番人気がある、FEBEの話。 Firefoxのプロファイル再作成でFEBEの力を思い知る - Fight the Future{|じゅくのblog|} http://d.hatena.ne.jp/jyukutyo/20070810/1186696079 で、またレンダリングが遅くなったので、プロファイル再作成したら、Greasemonkeyのスクリプトがなくなってた。。。 そうか。FEBEはデフォルトではGreasemonkeyのスクリプトをバックアップしないのか。 というわけで、FEBEでGreasemonkeyのスクリプトをバックアップする方法。 メニュー→ツール→FEBE→FEBEオプションを開き、オプションタブの右下、User-defined backupsを押下する。 Newを押し、TypeにFolderを選択する。 Labelは何でもいいと思うけど、と
唐突ですが、僕はこの言葉にすごく勇気づけられました。 「優秀なソフトウェア・エンジニアである」ということは、それほどまでに貴重な存在だ、ということを強く意識した上で、自分を鍛え続け、良い物を作る・ユーザーに価値を提供する・会社の価値を高めることを一生懸命にしていれば、必ず道は開ける。 Life is beautiful: テクノロジー・ベンチャーにはなぜソフトウェア・エンジニアが不可欠なのか? 何を持って優秀とするか、は別にして、 「優秀なソフトウェアエンジニア」を目指す決意を新たにしました。 僕はプログラミングが好きなようですが、 別段プログラミングだけが好きなわけではありません。 社会人2年目には、先輩に勧められたドラッカーに大ハマリして、 マネジメントについても、本を読んだりチームに試したりして、 今の自分の考えはあります。 3冊の書籍の執筆を通じて、文章の書き方もけっこう突き詰めて
とてもエントリが多くの回にわたったので、まとめます。 One Div Zero: Monads are Elephants Part 1 モナドについて調べていく(7) - Fight the Future じゅくのblog モナドについて調べていく(8) - Fight the Future じゅくのblog モナドについて調べていく(9) - Fight the Future じゅくのblog モナドについて調べていく(10) - Fight the Future じゅくのblog モナドについて調べていく(11) - Fight the Future じゅくのblog モナドについて調べていく(12) - Fight the Future じゅくのblog One Div Zero: Monads are Elephants Part 2 モナドについて調べていく(14) - Fig
【追記】アンチプラクティス2:朝会が進捗会議を変更しました。(2008/02/21) 僕は朝会に異常にこだわっているようだ。それは朝会の効果を実感/確信しているからで。 もちろんプロジェクトごとに特性があるから、朝会をしないこともあるだろう。でもそれはあくまで特性を考えた結果であって、「朝会をする」のが普通だ。 というわけで自分なりの「朝会のアンチプラクティス」「朝会のベストプラクティス」をまとめてみる。 参考文献 朝会のパターン:立ってるだけじゃないよ アンチプラクティス1:朝会意味なし 「これから毎朝朝会します」で朝会を開くことにしちゃダメだ。間違いなく「朝会意味ない」って2,3日で言われるだろう。 「朝会ではその日のタスクを言ってください」で朝会の説明をしちゃダメだ。間違いなく「朝会ダルい」って2,3日で言われるだろう。 朝会の目的をメンバー全員に理解してもらおう。 アンチプラクティ
「現場を変える」系の話を聞くと、すばらしくて、自分の現場も!と思いますよね。 いわゆるSI業界から転職して、まだ1年も経っていませんが、僕もそのころ、そう思っていました。 でも、できなかった。 自分の力不足もあったのかもしれない。 もっとできることがあったのかもしれない。 そう思いながらも、転職して本当によかったと思っている自分もいます。 転職せずもっとがんばっていたらよかったかも、と思ったことは「一度もない」のもまた現実なんです。 「環境だけ変えても何も変わらないよ」と、尊敬する先輩の一人が、働き始めて間もない頃、僕に言ってくれました。 これも正しい、今でもそう思います。 結局、正しいことというのは無数にあり、それはコンテキストの違いによって、より「ベター」なことだけがあって、「ベスト」なんてないわけですよね。 「現場を変える」ことに、自分の人生の時間をどれくらい費やしてもいいと考えてい
今後のJavaのサポートとアップデートに関して、世界のJavaチャンピオン数十名が執筆したJava is Still Freeというドキュメントを、日本のJavaコミュニティメンバーで翻訳しました。翻訳したドキュメントはこちらです。 docs.google.com 簡約バージョンと詳細バージョンがあります。目的に合わせて、バージョンを選んでいただければと思います。 たとえばこういった内容があります。 有償のOracle JDKとGPLv2 + Classpath ExceptionライセンスのOpenJDKの違い Java 8とJava 11(LTS)それぞれに対して提供される各JDKプロバイダのサービス 日本だけでなく、海外でも同様に、今回のJavaのリリースサイクルとOracle JDKの変更について、混乱があるようです。 背景 JavaチャンピオンメーリングリストにJava is S
SIerはダメで、Web系企業に行こうっていうのが、 ちょっとした風潮になってるね。 僕は、これはある種正しくて、ある種間違ってると考えてる。 Web系企業、ヒャッハー!なのか? 僕の転職も、SIerからWeb系企業へ、というカテゴリに入ってる。 けど、すべてのWeb系企業で、 SIerであったもろもろの悪しき点がない、って ことじゃない。 僕が受けた1つで、上場してるWeb系企業の面接では、 「どうやって早いリリースを実現しているのか?」という質問で、 「パワープレイです」と役員が答えたところもあった。 「パワープレイ、ですか?」と聞き返すと、 「みんなのがんばりということです。」 「つまり?」 「終電まで毎日残業です。」というところもあった。 (なお、残業のあるなしじゃなくて、 僕はここが頭を使ってプロジェクト運営していないのでは?、 ということがすごく気になった。) Web系企業だか
Jenkins使ってますか みなさんはJenkins使ってますか? 僕は初心者なので全然詳しくないですが、Jenkinsが好きです。業務でも使ってます。 Jenkinsは本体にもすばらしい機能がたくさんありますが、豊富なプラグインによってさらに機能を拡張できます。 このことによって、JenkinsはCIツールの枠を超え、開発におけるポータルサイトのような、プロジェクトの骨格をなすもののような、とても崇高な位置にたどり着いていると思うのです。 Jenkins何に使ってますか? みなさんはJenkisをどんな用途で使っていますか? 単にビルドの成功失敗を見るためだけに使っているなんて、もったいない! 僕はJenkinsを見れば、明日の天気から星座占い、ニュースからJOJOの名言まですべて見れるようにしたいのです(僕はJOJOに詳しくありませんが、別にシャアの名言でもいいのです)! なんでもJe
僕は「稼動を上げてほしい」という指示が死ぬほど嫌いだ。 極めて個人的な意見だけど。 「稼動」という単語が差別的とかそういう意味でもなくて。 「稼動を上げてほしい」というのは仕事上の指示として絶対にありえないと考えてるから。 作業が多く、結果的に(一定期間での)稼動が上がっている「状態」というのはありえる。 そのコンテキストなら何の違和感もない。 でも「稼動を上げる」という「動詞」での指示は絶対にありえない。 たとえば急を要するものなら「この作業を3日後までに完了させてほしい」というのが、作業指示のはずだ。 それが工数管理のはずだ。 それがスケジュールのはずだ。 その結果として稼動が上がってしまうということだ。 僕が個人的に体験してきた経験論でしかないけど、マネージャが「稼動を上げてほしい」という指示を出すとき、プロジェクトにスケジュールはない。タスク一覧もない。 何をいつまでにすればいいか
死亡なんて出るんですね。ジョブ実行中にJENKINS_HOMEを削除したらこうなりました。死亡したらリンクをクリックして再度利用できるようにしないと、何も実行できないスレッドとなります。
Java 10以降のJavaについて、少し混乱があるようです。 ちょうど僕は数日前までJfokusというJavaカンファレンスでストックホルムに来ており、オラクルのJavaプラットフォームグループのチーフアーキテクト、Mark Reinhold氏による"Moving Java Forward Faster"というセッションに出ていました。 そこで聞いた内容を共有します。なお、そのセッションの動画も公開されています。 www.youtube.com 所感 何も心配いらない。むしろよいことである。 要約 今までのOracle JDKの無償版はなくなり、OpenJDKが提供されます。Oracle JDKとOpenJDKの違いとしては、Oracle JDKにはオラクルのバイナリコードライセンスがあること、一部のコードが異なる(TCKにより機能的な差はないと保証される)、グラフィック・ラスタライザ、
Javaプログラマが悩むラムダとクロージャと匿名関数と - Fight the Future じゅくのblog http://d.hatena.ne.jp/jyukutyo/20111117/1321587651 の続き。 セットアップ ラムダ式の使えるJava SE 8のアーリービルドは、ここからダウンロードできます。 Java Platform, Standard Edition 8 Developer Preview Releases ― Java.net http://jdk8.java.net/lambda/ PATHを通せばセットアップ完了。 Java SE 8とか言いながら、ラムダ式が使える版は、 OpenJDK 7の最新版にラムダプロジェクトを足したものだそうです。 (ラムダ式が使えない版は、ちゃんとJDK8) The Lambda project has used sou
そんなとき、このような言葉をかけてもらえました。 @jyukutyo 中途半端でいいんですよ!その両輪が見える立場はとても大事です。— 鈴木雄介/Yusuke SUZUKI (@yusuke_arclamp) 2016年5月22日 @jyukutyo 中途半端さの悩みは「誰にも相談できない」ことです。同じ視野で考えられる人がいないから。でも、それは解決しない悩みです。むしろ、突き詰めて自分にしかできない判断をすることが価値になります。僕自身も中途半端で悩んでたことあります!— 鈴木雄介/Yusuke SUZUKI (@yusuke_arclamp) 2016年5月22日 @jyukutyo まさにそれが価値ですよ。ぜひ中途半端さを突き詰めてください。孤独な判断をするためには論理と哲学が必要です。そうしないとブレちゃうので。ぜひ、そこを悩み続けてください!— 鈴木雄介/Yusuke SUZU
こちらのツイートが話題になっていました。 MySQL MLE Pluginはマルチ言語VMであるGraalVMを内包することでMySQL上で複数の開発言語でストアドプログラムを作成/実行可能とする。近日中にMySQL Labsで利用可能となる予定。まずはJavaScriptのサポートから。MySQLデータ型およびPythonのサポートを準備中 https://t.co/MSxhcROA7e #mysql_jp— MySQL_Jp (@mysql_jp) April 28, 2018 GraalVMは組み込みが可能です。MySQL MLE PluginでMySQLにGraalVMを組み込み、JavaScript/node.jsを(将来的にはその他言語も)データベース上で実行できるようになります。 MySQL MLE Pluginはまだリリースされていないのですが、実はOracle Datab
なんか最近思うエンジニアとして大切なこと。 仕事とプライベートに(厳密な)境界線を引かないこと 技術を楽しむこと 技術の勉強は業務時間内にやるべき!とかよい残業とは!みたいな話につながるけど、 厳密に境界線を引きたい人には(システム開発の)エンジニアはつらく感じると思う。 仕事で必要な技術は業務時間内に勉強できることもあるだろうけど、 それは今そこにある危機に対してのもので、たとえばもっと基礎体力的な部分とかはどうしたって業務時間外になる。 それはプライベートを全部潰してみたいな極論的なものじゃなくて、 プライベートでも空いてる日を見繕ってとか、時間をうまく作ってってことになるけど、 「絶対に」プライベートはプライベートと考える人にはそれはつらいだろうし。 業務のプログラミングなんて往々にして楽しくないもんで、 だからこそ自分の時間に自由にやると楽しい。 マッシュアップなんて業務でやらない
火消しプロジェクトなので、毎日数十件というバグが出ていた。 BTSのようなシロモノはなく、Excelでの障害管理表という(悪い意味での)一般的なバグ管理だった。 しかし、そこに書かれているのはバグの内容ばかり。 ああ、わかっていない。 エンジニアにとって、重要なのはバグの内容でもなければ、コードを書けもしない人の原因の推測でもない。 バグの再現手順だ。 再現さえできればバグの内容なんてすぐに把握できる。 だからバグの内容なんて1行程度の概要だけでいい。 でも再現手順がなければそのバグを再現するだけで相当の工数がかかる。 たとえば、どんなユーザーでログインしたのか? どんな画面遷移をしてその画面に行くのか? どんなIDのデータなのか? 画面上でどんな操作をすればバグが出現するのか? こういったことが記述され、すぐにでも再現できればバグの修正コストは相当低くなる。 そもそもの話で、管理表にバグ
僕は、Javaでプログラミングを始めて8年以上になります。 ここ数年、RubyやScalaを少しずつ学んでいます。 やっと、さっとWebアプリケーションを作るのに、 Ruby(Sinatra)で作れるようになってきました。 Ruby、Scalaと進んでいくと、 Javaになかった概念がいろいろ出てきて、 ちょっとあやふやなまま進んでいるところもあります。 そういった概念のうちいくつかを、整理してみます。 クロージャ JavaScriptにもあって、何となくわかって/使っているけど、 説明しろと言われると少し困ってしまう。 それがクロージャ。 クロージャとは、こう定義されます。 「レキシカルスコープを伴うファーストクラスの関数」 言語設計者たちが考えること p.176 言語設計者たちが考えること (Theory in practice) 作者: Federico Biancuzzi,Shan
私ことじゅくちょーは、7月末でフリュー株式会社を退職することにしました。約5年半の在籍でした。 現在は有給消化中です。また、次の勤務先も決まっています。関西です!! 得たこと アジャイル開発のチームリーダ フリューではアジャイル開発がベースにあります。この場合のアジャイルが指す意味は、XP/スクラムといった具体的な手法というよりも、純粋に"態度"を指します。なので、プロジェクトの特性に合わせて、つまりは部署やチームごとに開発プロセスにかなり違いがあります。私の部署は入社時XPベースのプロセスを採用していました。 私はフリューに入るまで、客先常駐で典型的なウォーターフォール、マネジメントなどない!という開発を経験してきて、アジャイル開発に憧れ入社しました。もちろんアジャイルだからすべてがうまくいくわけではありません。ただ、自分たちでうまくいくようにプロセス自体を変えていける、まさに"アジャイ
感動した! モスで思わず「そういう使い方があるんか...」と漏らしてしまったほど。 ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション 作者: ThoughtWorks Inc.,株式会社オージス総研オブジェクトの広場編集部出版社/メーカー: オライリージャパン発売日: 2008/12/27メディア: 単行本(ソフトカバー)購入: 14人 クリック: 263回この商品を含むブログ (77件) を見る それは「9章 ドメインアノテーション」で。 僕は別にドメイン駆動原理主義ではないから、 ドメイン駆動そのものにこだわりがあるわけではないんだけど、 このドメインモデルの横断的関心事にアノテーションを使う、という考えには深い感動を受けた。 まさに「その発想はなかったわ...」というもの。 アノテーションなめてた。いや僕はアノテーションは評価してた
対象ファイルの情報を見る(右ボタンメニューから[情報を見る]、あるいはファイルを選択して[Command]+[I])と、[このアプリケーションで開く]という項目がある。ここでリストボックスから好みのアプリケーションを選べばいいのだが、それだけでは、選択したファイルの関連付けだけしか変更できない。それはそうだ。このウィンドウは、選択したファイルの個別のプロパティ情報を参照するものだからだ。 ところが、そのすぐ下に[すべてを変更]というボタンがある。実はこのボタンをクリックすることで、同じ拡張子を持ったファイルの関連付けを変更できるのである。なぜファイル個別の情報を表示するウィンドウにこのような機能が付与されているのかわからないが、ともかく関連付けで困ったら、この機能で変更しよう。 WindowsユーザーのためのMac OS講座
Alt + x でコマンドウィンドウを開く。 基本的にコマンドとパイプで操作できる。 tabで補完が効くから積極的に使えばタイプ量は全然多くない。 開いているURLの1階層上のURLを開く $ upper-directory | open 開いているURLのGoogleキャッシュを開く $ location | google-cache | open 一番上までスクロールする $ scrollto-top 一番下までスクロールする $ scrollto-bottomHomeとかEndキー使わなくていい。意外に便利。
僕は知らなかった。。。まだまだJava初心者だな。 出会い S2のBeanDescImpl*1クラスを読んでいたらこういうソースがあった。 private void setupPropertyDescs() { ... if (MethodUtil.isBridgeMethod(m) || MethodUtil.isSyntheticMethod(m)) { continue; } ... Bridge??Synthetic?? J2SE1.5から!? で、MethodUtil*2のメソッドはこれ。 private static Method getIsSyntheticMethod() { try { return Method.class.getMethod("isSynthetic", null); } catch (final NoSuchMethodException e) {
今から話すことは僕個人が考える、一般的な意味での会社論だけど。 働きやすい会社とは、プライベートな事情を気軽に持ち込める会社だと考えてる。 持ち込む個人は申し訳ないという意識を強く持つことなく、持ち込まれる組織は嫌々受け入れるという無言の圧力を出すことなく、個人のプライベートな事情を持ち込める会社は働きやすい会社だ。 実はこのことはいまさら考えることでもない。 たとえば育児休暇は制度化されているけど、これも出産というプライベートな事情を持ち込めるようにしている、と言える。 残念なことは制度というレベルでしか認識されておらず、育児休暇ではなく退職を促されたり復帰後が閑職であったりすることもあるらしい。 これは新聞の記事みたいなもので見聞きしただけだけど。 僕が考えるのは、出産よりももっと小さなプライベートな事情でも、制度だからという消極的なものでなく積極的に、組織を構成する人が好意的にその事
2023-06-05 カンファレンスやイベントでの発表スライドをまとめました community conference 以下のページに埋め込み形式でスライドを掲載しています。 登壇資料 - Fight the Future 埋め込み形式でまとめている意図は次のようなことです。 SlideShareのサイトで閲覧した際に頻繁に広告が出るのは好ましくないという方もおられるであろうため スライド… 2024-03-05 OpenJDKをZeroを有効にしてビルドする jvm java Zeroはインタプリタのみにするものです。macOS 14.3.1でビルドしました。 $ sh ./configure --with-jvm-variants=zero --enable-debug $ make images $ ~/jdk/build/macosx-aarch64-zero-fastdebug/
スケジュールについてPMが知っていなければならない、絶対原則。 完了日を1点で見積もるのは絶対にムリだ、ということ このことはエンジニアがタイトル買い、著者買いすべき本 - Fight the Future じゅくのblogでも紹介した本から学んだ。 ソフトウェア見積り―人月の暗黙知を解き明かす 作者: スティーブマコネル,久手堅憲之,Steve McConnell,田沢恵,溝口真理子出版社/メーカー: 日経BPソフトプレス発売日: 2006/10メディア: 単行本購入: 27人 クリック: 372回この商品を含むブログ (88件) を見る もしあなたがマネージャなら、最低でもマコネルの「ソフトウェア見積り」は読んでおいてほしい。 本に書いてあることをそのまま実践してほしいわけじゃない。 こうした英知をベースに見積もりやスケジュールを考えてみてほしいだけだ。 自分のプロジェクトに合わせてア
次のページ
このページを最初にブックマークしてみませんか?
『Fight the Future{|じゅくのblog|}』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く