プログラミング言語研究者による,東大の教養課程の講義を書籍化した本 Pythonの機能だけでなく,Pythonを使いながら情報科学の基礎を学べる構成で,プログラミング,計算量等のアルゴリズムの考え方,大学で学ぶコンピュータ科学,物… https://t.co/I8OwIbdMth
![えるエル on Twitter: "プログラミング言語研究者による,東大の教養課程の講義を書籍化した本 Pythonの機能だけでなく,Pythonを使いながら情報科学の基礎を学べる構成で,プログラミング,計算量等のアルゴリズムの考え方,大学で学ぶコンピュータ科学,物… https://t.co/I8OwIbdMth"](https://cdn-ak-scissors.b.st-hatena.com/image/square/012e46b32aea8d95f0fa3baecbdbc4aafa12a2ad/height=288;version=1;width=512/https%3A%2F%2Fpbs.twimg.com%2Fprofile_images%2F1090990418106273792%2FBgMc28cF.jpg)
先日、twitter上で食べログの星の数について、 ある問題が話題になりました。 食べログの闇として話題になったその問題とは、 「評価3.8以上は年会費を払わなければ3.6に下げられる」 というものです。 食べログは飲食店についての口コミを集めるサイトで、 その評価は実際のユーザーによって形成されるものとして広く認知されています。 専門的なグルメリポーターでもなく、 一般の人々の素直な感想を集めることで、 その飲食店のリアルな価値が知れると期待して、 利用しているユーザーも多いでしょう。 それだけに、 「食べログが評価を恣意的に操作しているかもしれない」という話は、 瞬く間にネットで話題となりました。 さて、この話は実際に行われていることなのでしょうか。 食べログでは、当然評価点は公開されているので、 このような恣意的な操作があれば、 何らかの形で偏りが見つかるはずです。 ということで、食
概要 この記事ではBeanのライフサイクルについてまとめています。 割と内部のお話です。 以下のキーワードは知っている前提で進めます。 Bean DI(Dependency Injection) ちなみに先日pivotalが主催するSpring Professional v5.0 Examを受けたのでそのときに勉強した内容のまとめです。 Beanのライフサイクルは大きく3つに分かれます。 1. 初期化フェーズ 2. 利用フェーズ 3. 終了フェーズ 初期化フェーズ このフェーズでは主に Bean定義読み込み・書き換え Bean生成&DI 初期化処理 を行います。 このフェーズが最も複雑です。 大まかな流れはこんな感じ では詳しく見ていきましょう。 Bean定義の読み込み まずBeanの生成に必要な情報の読み込みが行われます。 @Configurationの書かれたJava Config @
Java8で新たに追加されたクラスにjava.util.Optionalがあります。 Optionalを使用することで、プログラムの堅牢性を高めたり、煩雑な記述を減らすことが期待されます。 Optionalとは? Optionalは値をラップし、 その値がnullかもしれない ことを表現するクラスです。 使い方 メソッドgetHoge()はnullを返す場合があるとします。 これまでなら次のような感じでnullチェックをしていたと思います。 String hoge = getHoge(); // hogeはnullかも if (hoge != null) { // nullチェック System.out.println(hoge.length()); // hogeがnullじゃないのでlengthメソッドを呼ぶ } nullかもしれない変数hogeのメソッドを呼ぶ場合、事前にnullチェ
概要 Java 1.8より導入されたjava.util.Optionalクラスのおさらいメモです。 環境 Windows 10 Professional Oracle JDK 9.0.4 Oracle JDK 10.0.1 参考 Oracle JDK 9ドキュメント Oracle JDK 10ドキュメント Optional<T> - Java 1.8 empty / of / ofNullable いずれもstaticメソッドです。Optionalはpublicなコンストラクタを持たないのでOptionalオブジェクトを生成するにはこれらのメソッドを利用します。 empty null値を持つOptionalオブジェクトを返します。
JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読本では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)
Java SE 8 から新たに追加された Optional クラスについて使い方をまとめました。 Optionalとは Java SE 8 で新たにjava.util.Optionalクラスが導入されました。Optional クラスは値を持たない場合がある(nullである)ことを表すコンテナオブジェクトで、nullをより安全に扱うためのメソッドを提供しています。 今までは戻り値が null の可能性がある場合は NullPointerException を防ぐために if文で null チェックをしていました。 Person person = getPerson(); if (person != null) { person.getName(); } Optionalを使用すると値が存在する(nullでない)場合だけ処理することを一文で表現できます。 Optional<Person> pe
- はじめに - 当ブログでは恒例になっている、献本されたので筆者に媚を売るシリーズです。 今回は10/9に発売予定の「Kaggleで勝つデータ分析の技術」という書籍なんですが、既に発売前にしてAmazonベストセラー1位。豪華著者陣とKaggleにおいては日本有数の起業と言っても過言ではない、DeNA株式会社の豪華レビュワー。筆者がブログを書いていたり、u++さんがめちゃくちゃ丁寧な書評を書いていたり、Kaggle Grand Master各位の薦めツイートも出てきた段階で、もう私が媚を売る必要すらないと思いますが、良かったので感想だけでも残しておければと思います。 Kaggleで勝つデータ分析の技術 作者: 門脇大輔,阪田隆司,保坂桂佑,平松雄司出版社/メーカー: 技術評論社発売日: 2019/10/09メディア: 単行本(ソフトカバー)この商品を含むブログを見る 端的に言えば、テーブ
限定の先行販売*1で紙版を入手した『Kaggleで勝つデータ分析の技術』(技術評論社)を読みました。なお電子版をご恵贈いただく予定です。 gihyo.jp 10月7日の発売を待たずして Amazon*2のベストセラー1位になるなど、注目を集めています。 既に著者の一人である threecourse さんは、執筆者視点で見どころを紹介しています*3。 本記事では一人の読者、そして Kaggler の視点で書評を記します。なお私は既に1年以上 Kaggle に取り組んでおり、一定程度の知識を有している視点からの書評になります*4。 本書の魅力 1. データ分析コンペのテーブルデータコンペに注力して書かれた「教科書」である 2. 技法のみならず筆者および関係者の実体験に基づいた集合知も言語化されている 3. コードが公開されている どんな人に本書はお勧めか Kaggleに取り組んだ経験があり、更
この度光栄なことに著者の @Maxwell さんから「Kaggleで勝つデータ分析の技術」 を献本いただきました。 私事ですがこのような形で献本頂いたのは初めての経験だったのでとてもうれしくまた恐縮している次第です。 光栄なことに @Maxwell_110 さんからKaggleで勝つデータ分析の技術を頂きました〜 目次の充実が話題になってましたがサラッと見ただけでも濃い内容満載で読むのワクワクです😆 https://t.co/VTKmsR5Z6s pic.twitter.com/yuRS72YyTs— ニューヨーカーGOTO (@nyker_goto) October 2, 2019 「せっかく本を頂いたので書評をかこう!!」と思ってここ数日読み進めていたのですが、この本が自分がここ一年ぐらいで読んだ機械学習に関連する本の中でもずば抜けて内容が濃くまた情報量の多い本であったため「これは僕
コードスメルとは様々なプログラムのあるべきではない状態のことを指します.コードからすぐ見て取れる重複部分の存在や,実際に変更を加える際に発生する手間の多さなど様々なパターンがこれまでに分類され,それらに対する改善方法が提案されています. 今回,仕事でコードを書く上でどのよう書かれているべきかを体系的に知っておきたいという思いでコードスメルについて調査しました, 本記事は Code Smells (SOURCEMAKING) の素晴らしいまとめを日本語訳したものです.5つのコードスメル大分類と,それぞれの小分類についての解説と改善方法がまとめられています(しかも具体的なリファクタリング方法については言語別に!).ところどころ記述を省いていたり,自身の解釈が混じっている可能性があるので,気になる箇所は直接読んでみてください.理解を助ける画像等もあり,英語に抵抗感がなければ直接読まれたほうが理解
コードの臭い(こーどのにおい、英: Code smell)とは、コンピュータプログラミングにおいてプログラムのソースコードに深刻な問題が存在することを示す何らかの兆候のことを言う。 コードの臭いが示す深刻な問題は、小さく管理された手順でリファクタリングする短いフィードバックサイクルを廻し、それ以上のリファクタリングが必要なことを示すコードの臭いがないかどうか、設計を検査しなければならない。 リファクタリングを実施するプログラマの視点からは、コードの臭いはいつリファクタリングするか、どのリファクタリング手法を用いるか、発見するための方法である。すなわち、リファクタリングを後押しするものである。 「コードの臭い(code smell)」という呼び方は、ケント・ベックがWardsWikiで初めて用いたようである。マーチン・ファウラーの著書 Refactoring. Improving the D
google guavaに含まれるPreconditionsクラスの説明。 このクラスはJavaに含まれるExceptionを省略したもの。このクラスの目的はコードの可読性を高めること。簡単に言うと文章を短くして見やすくしようとのこと。 checkNotNullメソッド NullPointerExceptionを省略したもの import com.google.common.base.Preconditions; public class CheckNotNullSample { public static void main(String[] args) { String string = null; //if(string == null){ //throw new NullPointerException(); //} Preconditions.checkNotNull(strin
What's Google Guava? Googleが開発しているOSSのjava core libraryで、Googleの多くのJavaベースのプロジェクトで使用されており、 Java 1.5 以上で使用できる。 昔、Google Collectionとして開発されていた。 Apache Commons の Lang、Collectionsなどに替わる機能を提供していて、パッケージ名を見れば大体の機能について想像がつくと思います。 com.google.common.annotations com.google.common.base com.google.common.cache com.google.common.collect com.google.common.escape com.google.common.eventbus com.google.common.hash c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く