当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。

当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。
『Effective Java 第2版 (The Java Series)』を読むまで知らなかったのですが、Java SE 5 から Java SE 6 に移行する際に @Override アノテーション*1の使用方法が変更になっていたそうで。 一言で言えば、「インターフェースに宣言されているメソッドをオーバーライドする際にも @Override アノテーションを使える」ように拡張されました。 確かに Java SE 5 の頃に何故こういう風に使えないんだ!と思ったことがありましたが、拙者だけではなかったのですね。 以下で、Java SE 5 と Java SE 6 の間の @Override アノテーションの使い方の違いを、サンプル・コードを用いて見ていきましょう。 分類表 拡張する型 (extends) と拡張される型 (super) で、有り得る組合せは以下の表の通り: extend
こんにちは、フロントエンドエンジニアの @nullpoo です。 今回は、最近パプリックプレビューとなった Visual Studio Live Share を使ってペアプログラミングをしたことをきっかけに気づいたことについて紹介したいと思います。 ドメイン知識の共有や作業効率の向上、他のエンジニアがコードを書く方法など、様々な気づきがありました。 Visual Studio Live Share とは Visual Studio Live Share はMicrosoftが発表した、Visual StudioやVisual Studio Code上でネットワークを経由しリアルタイムでコードの編集やデバッグを行うための拡張機能です。 詳しくは下記公式ページを参照してください。 www.visualstudio.com 実際に作業を行っている様子をキャプチャしてみました。 共同編集の様子 共
共著者として参加していた書籍『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』が、2018/5/9に技術評論社さまより発売となりました。 React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発 作者: 原一浩,taisa,小松大輔,永井孝,池内孝啓,新井正貴,橋本安司,日野洋一郎出版社/メーカー: 技術評論社発売日: 2018/05/09メディア: 単行本(ソフトカバー)この商品を含むブログを見る どんな本か React、Angular、Vue.js、React Nativeそれぞれが、同じサーバのAPIを参照し、同様の機能を持ったアプリケーションとして作成します。React Nativeは、ネイティブアプリを開発するためのフレームワークなため、SPA(Single-page
発表資料 DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話 from Koichiro Matsuoka www.slideshare.net twitterの反応 togetter.com CQRSの参考資料 CQRS | Microsoft Docs CQRS - Martin Fowler 英語ですが、CQRSの概要についてものすごくわかりやすく書いてあります。 英語頑張って読んだほうが日本語で断片的な資料をたどるより結果的にわかりやすいと思います・・・! イベントソーシングの参考資料 Event sourcing in practice 今まで見た中で圧倒的にわかりやすいイベントソーシングの資料です。英語ですが平易なので読みやすいと思います。 当ブログ発表資料関連の記事 little-hands.hatenablog.com writeモデル実装の意図を詳
1年分の自分のはてなブックマークを見直した。 およそ 2,000 URLのエントリの中から、特に感銘を受けたり、記憶に残ったエントリを紹介したい。 2015年にブクマしたというだけで、必ずしも2016年に公開されたエントリばかりではないことに注意。 エントリ Scalable Deployments Advanced Techinic for OS upgradeing in 3 minutes MySQLやSSDとかの話 モバイルアプリのスレッドプールサイズの最適化 性能測定道 情報科学における18のメタテクニック Webオペレーションエンジニアのアウトプットと開発力 はてなに入った技術者の皆さんへ シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ペパボのインターネット基盤技術研究・開発の活動 インフラチーム改め Site Reliability Engi
この記事は::..: glen.nu :.: ramblings :.: on code review :.::の意訳記事です。@9len氏の許可を受けて投稿しています。 This article originally appeared in English at :..:: GLEN D SANFORD :.: RAMBLINGS :.: ON CODE REVIEW ::..: and has been translated with @9len’s permission for posting to this blog in Japanese. この記事は2014年3月に書いている。Twitterでユーザ検索チームを私が率いていたころの話だ。この記事は、コードレビューに関するセオリー・アプローチを体系化することを狙いとしていて、いくつかの基本的なプラクティスの確立を狙っている。あな
近況 打ち捨てられた過去について 要旨 この記事を興味深く読む一方で、やはり違和感を覚える人も多くいるようで、自分もその一人だった。恐らく、この違和感は、「抽象化」が「具体性を奪取していくもの」といったような対立項として述べられているからだ、というように思われる。しかし、果たして具体性無しに「抽象化」することが有益なことなのだろうか。それが一つの違和感のように思われる。 本文 プログラミングの世界には、YAGNI原則(You ain't gonna need it)というものがある。また、YAGNIという言葉を使わなくても、「過度な汎用化が足を引っ張る失敗例」というのは、プログラマとしての心構えを書いた本の中で、ちらほらと自嘲気味に述べられることがある。 僕も、一度そのような失敗例を見たことがあるけれど、なぜこういう失敗が起こるのか。確かにデザインパターンで組み立てられたアーキテクチャは「
Online Study TokyoBouldering.js(tkbjs)というオンライン勉強会では、 毎月第2、第4火曜日、22時から1時間で毎回オンラインで書籍の読書会/写経会をしています。 今、5冊目となる開眼! JavaScriptを開始したばかりなので、 興味ある人はOnline Study TokyoBouldering.js – Lingrからログインすると参加できます。 JavaScript Good Parts - Online JavaScript 勉強会を始めます! - tatsuo.sakurai's blog JavaScriptパターン Effective JavaScript tkbjs オンラインJavaScript勉強会3冊目Effective JavaScriptは11月26日からスタート | Web Scratch Promise本 #tkbjs で
近況 ふとした瞬間に虚しくなることがある いきさつ 今年、秀和システムから関数型プログラミングに関する本が出て、良くも悪くも、その本が注目を集めることになってしまいました。そんな中で色々な人が反応していましたし、自分もこのようなかたちで感想を書きました。 一方で、このような本を書かれるくらいであるならば、自分で真っ当な本を書けばいいわけだし、技術書を書くことなんて、そんな敷居の高いことではないというカウンターもあり、個人的にはそれも最もだなあ、という印象がありました。その中で自分なりに関数型プログラミングについて理解したことを元にQiitaに駄文をアップしたりしていました。間違ってたら、誰かが訂正してくれるだろうし、そのほうが自分にとって勉強になるだろう、と思うので。 ですが、「関数型プログラミング」というのは「なんだか難しい」という印象を覚えるのも事実のようです。実際に、最新の『Soft
問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムの本やサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ本)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境
ポール・グレアム「普通のやつらの上を行け」 普通のやつらの上を行け ---Beating the Averages--- ポール・グレアム氏は「普通のやつらの上を行け」(上記参照)というエッセイで、言語の選択の重要性(とLisp推し)を述べている。 かんたんにまとめておくと、彼の会社は開発言語にLispを採用したため、ライバル会社よりも高速にWebサービスをリリースでき、商業的に成功したという話だ。 Lispは難解だが強力な言語で、ハッカー御用達の言語とよく言われる。難解で習得者が非常に少ないため、使用しているライバル会社がほとんどなかったわけだ。 Lispを採用するかどうかはともかく、言語の選択が重要であることについては、私は完全に同意する。 これは当たり前のことを言ってるようで、意外とそうではない。「どの言語でも、たいして変わらない」という認識もけっこう根強くある。 最初の学習言語は何
私事ですが、友人のHarada Hitoshi(@umitanuki)の起業したAlpacaに参加することになりました(正式な参加はもう少し先になりますが)。 Home - AlpacaJapan - もともとDeep Learningに代表される機械学習に強みを持つチームを@umitanukiがCTOとして率いるということで、 このタイミングで人工知能関連に関連するプロダクト開発に参加して、これまでと異なるプロダクト開発の 経験を積みたいという思いもあり、僕もエンジニアとして参加することにしました。 今日からJP Blogも開始しておりますので、興味ありましたら、ぜひ閲覧いただければ、と思います。 http://blog-jp.alpaca.ai/blog-jp.alpaca.ai さてさて、どうして今機械学習系のスタートアップに参加することにしたかを簡単に説明したいと思います。 一番の
Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.
あけましておめでとうございます。 新年最初のエントリーですが、こんな話題でなんだかな?って感じもしますが気にしない! 本題 仕事でプログラマーをしていると避けられないのが、既存のくそコードです。 このエントリーではクソコードを プログラマーが読んでいると小声で「クソっ!」とか悪態が自然と出てしまうようなコード などと適当に定義しておきます。 クソコードにやられてばっかりいられない クソコードにまみれて地べたを這いつくばっている我々プログラマーですが、ただやられているのも癪に障りますよね。 そこで、なんとかクソとみそを美味しくいただけるようなアプローチは無いものか?と思案して最近やっていることをクソポエムとして残しておきます。*1 クソな部分を抜き出して一般化アンチパターンとして何か名前をつける なぜクソなのかを把握し、書き残す どのような経緯でクソにまみれてしまったのか?を探ってみる*2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く