Submit Search
Upload
Scala警察のすすめ
•
8 likes
•
12,355 views
T
takezoe
Follow
#scalafukuoka
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 30
Download now
Download to read offline
Recommended
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Pythonによる(Rubyでも大体適用可能)黒魔術へ入門するための案内書
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
2014/08/29 YAPC::Asia 2014
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
九州大学談話会「IMI Colloquium」 https://www.imi.kyushu-u.ac.jp/seminars/view/3001
例外設計における大罪
例外設計における大罪
Takuto Wada
例外設計における大罪 Jun 27, 2012 @ java-ja
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ 技術革新統括本部 システム技術本部生産技術部 インテグレーション技術センタ データ活用チーム 佐々木 徹
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Linux女子部 「Fedora最新技術情報&Systemd勉強会」 http://connpass.com/event/3859/ で使用した資料です。 変更履歴 2013/11/04 ver1.0 初版 2013/11/05 ver1.1 誤植修正、少し追記 2013/11/06 ver1.2 daemon-reload,mask,テンプレート機能を追記 2013/11/12 ver1.3 User/Groupオプションの説明追加 2013/11/24 ver1.4 誤植修正 2014/05/05 ver1.5 imjournalモジュールの説明追加
Recommended
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Pythonによる(Rubyでも大体適用可能)黒魔術へ入門するための案内書
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
2014/08/29 YAPC::Asia 2014
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
九州大学談話会「IMI Colloquium」 https://www.imi.kyushu-u.ac.jp/seminars/view/3001
例外設計における大罪
例外設計における大罪
Takuto Wada
例外設計における大罪 Jun 27, 2012 @ java-ja
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ 技術革新統括本部 システム技術本部生産技術部 インテグレーション技術センタ データ活用チーム 佐々木 徹
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Linux女子部 「Fedora最新技術情報&Systemd勉強会」 http://connpass.com/event/3859/ で使用した資料です。 変更履歴 2013/11/04 ver1.0 初版 2013/11/05 ver1.1 誤植修正、少し追記 2013/11/06 ver1.2 daemon-reload,mask,テンプレート機能を追記 2013/11/12 ver1.3 User/Groupオプションの説明追加 2013/11/24 ver1.4 誤植修正 2014/05/05 ver1.5 imjournalモジュールの説明追加
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
NTT Tech Conference #2 にて話した資料 時間が足りなかったので全部は話せなかった。
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
オープンソースカンファレンス 2019 Tokyo/Spring 発表資料 #osc19tk https://www.ospn.jp/osc2019-spring/ 2019年2月22日(金)
頑張りすぎないScala
頑張りすぎないScala
takezoe
https://d-cube.connpass.com/event/74106/
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
https://build.connpass.com/event/98947/
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
2013/04/20 デブサミ 2013 アワード & リバイバル
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
第32回「ネットワーク パケットを読む会(仮)」で発表した資料です。 #pakeana https://atnd.org/events/70080
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Proof Summit 2015 <http: /> で発表した、SAT/SMTソルバの仕組みです。 Proofということで、論理学的側面からの面白さを出来るだけ紹介しています。
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ```
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
神戸Pythonの会での SQLAlchemy 入門ハンズオンの資料です。 座学パートの多いSQLAlchemy Primerよりもハンズオンに重点を置いて、日本語で書き直しました。
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
ヤフー社内でやってるMySQLチューニングセミナー大公開
golang profiling の基礎
golang profiling の基礎
yuichiro nakazawa
CA.go#1 (2017/06/21)の発表です golang pprofの解説をしました https://cyberagent.connpass.com/event/58120/
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
2019年3月14日に開催されたHadoop / Spark Conference Japan 2019での講演資料です。
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Explaining “Best practices for writing Dockerfiles” Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita https://qiita.com/zembutsu/items/a96b68277d699f79418d こちらをベースにした解説スライドです。
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
パーサ勉強会の資料です。
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Concepts and tools of logging in Java. Javaにおけるログ出力の考え方と道具について説明. CC Attribution Licenseの元に公開します.
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
Docker Birthday #5 Celebration (Docker Tokyo #22) の資料です。
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
5/17 Oracle Code Tokyo 2019、5/18 JJUG CCCのセッション資料です。https://togetter.com/li/1356223 も併せて参照ください。 以下、Oracle Code Tokyo 2019 https://www.oracle.co.jp/events/code/2019/ でのセッション概要より転記します。 -------- 2019年1月末で、Oracle JDK/JRE 8の商用ユーザー向けのPublic Updatesが終了しました。また、Java 9以降ではJDKのリリースモデルが変更になり、並行してOracle JDK 8までの商用機能がOpenJDKに寄贈されていきました。 こうした流れにより、特にJava 9がリリースされた2017年9月以降には様々なOpenJDKディストリビューションが出てきており、選択肢が大きく増えた反面、どれを選べばよいのかが分からない・多様になっただけに混乱を招く、などの話を耳にすることもあります。 本セッションでは、マルチプラットフォームに対応した主要なJDKディストリビューションの特徴を説明するとともに、どのような軸で判断していくべきかを提示することで、皆様の環境・状況にあった最適なJDK選びをお手伝いいたします。
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022, https://jssst-ppl.org/workshop/2022/index.html )にて招待講演として発表させて頂いた際のスライドです. 以下のページでも閲覧可能です: https://gfngfn.github.io/ja/posts/2022-05-11-slides-ppl2022-invited/
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
Database Lounge Tokyo #4 https://database-lounge-tokyo.connpass.com/event/54855/ で話した資料。 動画はこっち https://www.youtube.com/watch?time_continue=1&v=VTEAJHJHIpY
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
dcubeio
おっさんES6/ES2015,React.jsを学ぶ 2016JavaScript入門 2016/11/21 @BizReach D3イベント登壇資料 最近のJavaScript動向 ・試験に出るJavaScript21年の歴史 ES6/ES2015を学ぶ ・ES6/ES2015概要 ・ES5を振り返る ・altjsの意義 Reactを学ぶ ・DOCを読む ・Tutorialをやる まとめ ・今回の学習を通じて感じたこと
自然言語処理 Word2vec
自然言語処理 Word2vec
naoto moriyama
word2vecについての概要説明
More Related Content
What's hot
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
NTT Tech Conference #2 にて話した資料 時間が足りなかったので全部は話せなかった。
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
オープンソースカンファレンス 2019 Tokyo/Spring 発表資料 #osc19tk https://www.ospn.jp/osc2019-spring/ 2019年2月22日(金)
頑張りすぎないScala
頑張りすぎないScala
takezoe
https://d-cube.connpass.com/event/74106/
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
https://build.connpass.com/event/98947/
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
2013/04/20 デブサミ 2013 アワード & リバイバル
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
第32回「ネットワーク パケットを読む会(仮)」で発表した資料です。 #pakeana https://atnd.org/events/70080
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Proof Summit 2015 <http: /> で発表した、SAT/SMTソルバの仕組みです。 Proofということで、論理学的側面からの面白さを出来るだけ紹介しています。
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ```
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
神戸Pythonの会での SQLAlchemy 入門ハンズオンの資料です。 座学パートの多いSQLAlchemy Primerよりもハンズオンに重点を置いて、日本語で書き直しました。
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
ヤフー社内でやってるMySQLチューニングセミナー大公開
golang profiling の基礎
golang profiling の基礎
yuichiro nakazawa
CA.go#1 (2017/06/21)の発表です golang pprofの解説をしました https://cyberagent.connpass.com/event/58120/
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
2019年3月14日に開催されたHadoop / Spark Conference Japan 2019での講演資料です。
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Explaining “Best practices for writing Dockerfiles” Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita https://qiita.com/zembutsu/items/a96b68277d699f79418d こちらをベースにした解説スライドです。
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
パーサ勉強会の資料です。
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Concepts and tools of logging in Java. Javaにおけるログ出力の考え方と道具について説明. CC Attribution Licenseの元に公開します.
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
Docker Birthday #5 Celebration (Docker Tokyo #22) の資料です。
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
5/17 Oracle Code Tokyo 2019、5/18 JJUG CCCのセッション資料です。https://togetter.com/li/1356223 も併せて参照ください。 以下、Oracle Code Tokyo 2019 https://www.oracle.co.jp/events/code/2019/ でのセッション概要より転記します。 -------- 2019年1月末で、Oracle JDK/JRE 8の商用ユーザー向けのPublic Updatesが終了しました。また、Java 9以降ではJDKのリリースモデルが変更になり、並行してOracle JDK 8までの商用機能がOpenJDKに寄贈されていきました。 こうした流れにより、特にJava 9がリリースされた2017年9月以降には様々なOpenJDKディストリビューションが出てきており、選択肢が大きく増えた反面、どれを選べばよいのかが分からない・多様になっただけに混乱を招く、などの話を耳にすることもあります。 本セッションでは、マルチプラットフォームに対応した主要なJDKディストリビューションの特徴を説明するとともに、どのような軸で判断していくべきかを提示することで、皆様の環境・状況にあった最適なJDK選びをお手伝いいたします。
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022, https://jssst-ppl.org/workshop/2022/index.html )にて招待講演として発表させて頂いた際のスライドです. 以下のページでも閲覧可能です: https://gfngfn.github.io/ja/posts/2022-05-11-slides-ppl2022-invited/
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
Database Lounge Tokyo #4 https://database-lounge-tokyo.connpass.com/event/54855/ で話した資料。 動画はこっち https://www.youtube.com/watch?time_continue=1&v=VTEAJHJHIpY
What's hot
(20)
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Docker Compose 徹底解説
Docker Compose 徹底解説
頑張りすぎないScala
頑張りすぎないScala
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
golang profiling の基礎
golang profiling の基礎
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Docker Tokyo
Docker Tokyo
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
地理分散DBについて
地理分散DBについて
Viewers also liked
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
dcubeio
おっさんES6/ES2015,React.jsを学ぶ 2016JavaScript入門 2016/11/21 @BizReach D3イベント登壇資料 最近のJavaScript動向 ・試験に出るJavaScript21年の歴史 ES6/ES2015を学ぶ ・ES6/ES2015概要 ・ES5を振り返る ・altjsの意義 Reactを学ぶ ・DOCを読む ・Tutorialをやる まとめ ・今回の学習を通じて感じたこと
自然言語処理 Word2vec
自然言語処理 Word2vec
naoto moriyama
word2vecについての概要説明
AtCoderで始めるテスト駆動開発
AtCoderで始めるテスト駆動開発
YujiSoftware
AC Unit Test というツールの宣伝です (・∀・)
Scala製機械学習サーバ「Apache PredictionIO」
Scala製機械学習サーバ「Apache PredictionIO」
takezoe
#scalafukuoka
The best of AltJava is Xtend
The best of AltJava is Xtend
takezoe
#渋谷java
MP in Clojure
MP in Clojure
Kent Ohashi
Why not try MP (monadic programming) in Clojure?
Clojure web dev history
Clojure web dev history
Ikuru Kanuma
Presentation at Shibuya Java #19 https://shibuya-java.connpass.com/event/57368/
Non-Functional Programming in Scala
Non-Functional Programming in Scala
takezoe
Scala Kansai Summit 2017 #scala_ks
Javaでマサカリ投げてみた
Javaでマサカリ投げてみた
YujiSoftware
JJUG CCC 2015 Fall の懇親会で行ったライトニングトークの資料です。 解説記事を書きました! http://d.hatena.ne.jp/chiheisen/20151129/1448817036 使用したソースコードはこちら https://github.com/YujiSoftware/Masakari4j
Tensor Decomposition and its Applications
Tensor Decomposition and its Applications
Keisuke OTAKI
This is a introduction slide for Tensor Decompositions and its applications on Data Mining.
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
Apache Mahout で提供されているTasteフレームワークをElasticsearchに組み込むことで、Elasticsearchをレコメンドシステムとして利用する方法をご紹介します。
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
PredictionIOを利用して、データ管理から予測API作成までの開発方法を紹介します。
自然言語処理
自然言語処理
naoto moriyama
入門向けに自然言語処理の歴史を超ざっとまとめました
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
ElasticsearchにAnalyze APIプラグインをインストールすることで形態素解析サーバを作成することができます。
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
Shinsuke Sugaya
Elasticsearchプラグインの簡単な作り方を紹介します。また、Elasticsearchを便利に利用するためのプラグインも紹介します。
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Shinsuke Sugaya
ESFluteはElasticsearchのO/Rマッパーです。DBFluteと同じ使い方でElasticsearchにアクセスすることができます。
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
Fess 10でLastaFluteベースに変更され、検索エンジンもElasticsearchに変わります。ElasticsearchへのアクセスもDBFluteライクに実装できるようにESFluteを開発したのでそのご紹介です。
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
hamaken
IBM Datapalooza Tokyo 2016(2016年6月15日)講演資料 『ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン』 日本Hadoopユーザー会 濱野 賢一朗(NTTデータ)
AI社会論研究会
AI社会論研究会
Hiroshi Nakagawa
第25回AI社会論研究会(2017年6月22日)の資料です。人工知能の概念的基礎、シンギュラリティ以前に起こる社会問題について書いています。
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
(デブサミ 2016 講演資料) Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス 土橋 昌 吉田 耕陽 イベントページ http://event.shoeisha.jp/devsumi/20160218/session/991/
Viewers also liked
(20)
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
自然言語処理 Word2vec
自然言語処理 Word2vec
AtCoderで始めるテスト駆動開発
AtCoderで始めるテスト駆動開発
Scala製機械学習サーバ「Apache PredictionIO」
Scala製機械学習サーバ「Apache PredictionIO」
The best of AltJava is Xtend
The best of AltJava is Xtend
MP in Clojure
MP in Clojure
Clojure web dev history
Clojure web dev history
Non-Functional Programming in Scala
Non-Functional Programming in Scala
Javaでマサカリ投げてみた
Javaでマサカリ投げてみた
Tensor Decomposition and its Applications
Tensor Decomposition and its Applications
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
自然言語処理
自然言語処理
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
AI社会論研究会
AI社会論研究会
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Similar to Scala警察のすすめ
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
Scala Days参加レポートのような何か
Scalaノススメ
Scalaノススメ
Yasuyuki Maeda
静的型付けの関数型言語のすばらしさに加えて、HaskellやOcamlにはないScala独特の機能について紹介した資料です。
1周遅れのScala入学 #nds41
1周遅れのScala入学 #nds41
Kazumune Katagiri
Nds41
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Excel方眼紙爆発しろ!
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
第2回初心者Scala in F@N での発表資料。
Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks
Hiroshi Ito
Reladomo in Scala FOLIO 伊藤博志 & Good Flow Technologies 瀬良和弘
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Ra Zon
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
English version is here: http://www.slideshare.net/seratch/jjug-ccc-2014springeng http://www.java-users.jp/?page_id=1048#R2-4
Object-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
社内のチーム向けScala勉強会資料です。
ScalaCL in ScalaKaigi
ScalaCL in ScalaKaigi
Hideyuki Takeuchi
Scala会議のLT ScalaからOpenCLを簡単に利用できるScalaCL Pluginとかのお話
activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介
Kevin Toyoda
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
#scala_ks
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
Trait in scala
Trait in scala
Yuta Shimakawa
社内のLT大会でScalaについてお話するということで、Scalaのオブジェクト指向要素の中核であるところのTraitについて。
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
scala.jsを試してみました。
Why dont you_create_new_spark_jl
Why dont you_create_new_spark_jl
Shintaro Fukushima
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
takezoe
2012/09/26(Wed) JJUG Night Seminar at Oracle Japan, Tokyo
Similar to Scala警察のすすめ
(20)
Scala Daysに行ってみて
Scala Daysに行ってみて
Scalaノススメ
Scalaノススメ
1周遅れのScala入学 #nds41
1周遅れのScala入学 #nds41
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Object-Funcational Analysis and design
Object-Funcational Analysis and design
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
ScalaCL in ScalaKaigi
ScalaCL in ScalaKaigi
activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介
ATN No.2 Scala事始め
ATN No.2 Scala事始め
Scala.jsはじめました!
Scala.jsはじめました!
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Trait in scala
Trait in scala
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Why dont you_create_new_spark_jl
Why dont you_create_new_spark_jl
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
More from takezoe
Journey of Migrating Millions of Queries on The Cloud
Journey of Migrating Millions of Queries on The Cloud
takezoe
At DBTest '22
GitBucket: Open source self-hosting Git server built by Scala
GitBucket: Open source self-hosting Git server built by Scala
takezoe
at Scala Love in the City 2021
Testing Distributed Query Engine as a Service
Testing Distributed Query Engine as a Service
takezoe
At Presto Conference Tokyo 2020 Nov 20, 2020
Revisit Dependency Injection in scala
Revisit Dependency Injection in scala
takezoe
at Airframe Meetup #3
How to keep maintainability of long life Scala applications
How to keep maintainability of long life Scala applications
takezoe
at Scala Kansai Summit 2018 #scala_ks
GitBucket: Git Centric Software Development Platform by Scala
GitBucket: Git Centric Software Development Platform by Scala
takezoe
at Scala eXchange 2017
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
ScalaMatsuri 2017
Tracing Microservices with Zipkin
Tracing Microservices with Zipkin
takezoe
#渋谷java
Type-safe front-end development with Scala
Type-safe front-end development with Scala
takezoe
#ichigayageek
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016
takezoe
Scala Kansai Summit 2016 #scala_ks
Macro in Scala
Macro in Scala
takezoe
#渋谷java
Java9 and Project Jigsaw
Java9 and Project Jigsaw
takezoe
#渋谷java
Reactive database access with Slick3
Reactive database access with Slick3
takezoe
#reactive_shinjuku
markedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVM
takezoe
markedj is JVM port of graceful markdown processor marked.js https://github.com/gitbucket/markedj
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015
takezoe
Excel方眼紙を支えるJava技術 2015年版 ※2014年版はこちら http://d.hatena.ne.jp/takezoe/20140106/p1
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
実戦での Scala 〜 6つの事例から知る Scala の勘所〜 https://jissenscala.doorkeeper.jp/events/19660 で発表したスライドです。
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
takezoe
ScalaMatsuri 2014
Play2実践tips集
Play2実践tips集
takezoe
Scala界隈の近況
Scala界隈の近況
takezoe
More from takezoe
(20)
Journey of Migrating Millions of Queries on The Cloud
Journey of Migrating Millions of Queries on The Cloud
GitBucket: Open source self-hosting Git server built by Scala
GitBucket: Open source self-hosting Git server built by Scala
Testing Distributed Query Engine as a Service
Testing Distributed Query Engine as a Service
Revisit Dependency Injection in scala
Revisit Dependency Injection in scala
How to keep maintainability of long life Scala applications
How to keep maintainability of long life Scala applications
GitBucket: Git Centric Software Development Platform by Scala
GitBucket: Git Centric Software Development Platform by Scala
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
Tracing Microservices with Zipkin
Tracing Microservices with Zipkin
Type-safe front-end development with Scala
Type-safe front-end development with Scala
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016
Macro in Scala
Macro in Scala
Java9 and Project Jigsaw
Java9 and Project Jigsaw
Reactive database access with Slick3
Reactive database access with Slick3
markedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVM
ネタじゃないScala.js
ネタじゃないScala.js
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
Play2実践tips集
Play2実践tips集
Scala界隈の近況
Scala界隈の近況
Scala警察のすすめ
1.
Scala警察のすすめ Naoki Takezoe @takezoen BizReach, Inc
2.
有名OSSでもScala的に微妙なコードが多い ● ビッグデータ、機械学習界隈のプロダクトにこの 傾向がある ● 元々関数型界隈ではなく、ビッグデータ界隈や機 械学習界隈の人がSparkやMLlibを使うために Scalaを使っているので仕方ない ●
むしろScala警察活躍のチャンス!!!!
3.
Scala的に微妙なコードあるある
4.
その1. Procedure Syntax
5.
Procedure Syntax メソッドの戻り値がUnitの場合はメソッド定義の「=」 を省略できるという記法 def hello()
{ "Hello World!!" }
6.
なぜダメか? ● 戻り値の型がUnitになってしまう ● Javaから来た人が間違って書いてしまいがち ●
将来のバージョンのScalaでは廃止予定 def hello(): Unit = { "Hello World!!" } def hello(): String = { "Hello World!!" } こういうメソッドを定義しているつもりが・・・ 実はこうなっている
7.
どうすればよいか? Procedure Syntaxは使わない def hello():
String = { "Hello World!!" } def hello() = { "Hello World!!" } または
8.
その2. Unit is
not Unit value
9.
Unit値を返すつもりでUnitと書いてしまう def hello(): Unit
= { // ...いろいろ処理... Unit } これ
10.
なぜダメか? ● Unit値は()、UnitはUnitオブジェクト ● メソッドの戻り値など、実害はないケースが多い ので気づきにくい scala>
val x = () x: Unit = () scala> val x = Unit x: Unit.type = object scala.Unit
11.
どうすればよいか? Unitではなく()と書きましょう def hello(): Unit
= { // ...いろいろ処理... () } こう書く
12.
その3. Auto Tupling
13.
引数を自動的にタプルに変換する機能 def hello(x: (String,
String)): String = { x._1 + " " + x._2 } // 本来であればこう呼び出す hello(("Naoki", "Takezoe")) // こう書ける hello("Naoki", "Takezoe")
14.
なぜダメか? ● なぜコンパイルエラーになるのかわかりにくい ケースがある ● リファクタリング時に意図せずコンパイルが通って しまうケースがある
15.
どうすればよいか? ● Auto-Tuplingを使わずに記述する ● 名前付き引数で引数を渡す ●
Any型の引数を持つメソッドを定義する場合や、 リファクタリング時は特に注意する Scalaパズルにも 書いてある!
16.
その3. Escape by
"return"
17.
def hello(name: String):
String = { return s"Hello ${name}!" } そもそもこういう場合はreturnは不要
18.
引数チェックのEarly return def hello(names:
Seq[String]): String = { // Seqが空の場合 if(names.isEmpty) return "" // Seqに空文字列が含まれている場合 names.foreach { name => if(name.isEmpty) return "" } // 実際の処理 names.mkString(", ") }
19.
なぜダメか? ● メソッドの戻り値の型推論が効かなくなるので戻り 値の型を明示的に記述する必要がある ● 場合によっては例外にコンパイルされている (ControlThrowable)
20.
どうすればよいか? ● 不要な場合は書かない ● if
elseやコレクション操作に置き換える ● 使う場合は例外処理に気をつける
21.
def hello(names: Seq[String]):
String = { // Seqが空の場合 if(names.isEmpty) "" // Seqに空文字列が含まれている場合 else if(names.exists(_.isEmpty) "" // 実際の処理 else names.mkString(", ") }
22.
例外処理をする場合 ● Throwableでキャッチしない ● Throwableもキャッチする必要がある場合は NonFatalを使う try
{ // ...処理... } catch { case NonFatal(t) => t.printStackTrace() } ControlThrowableなどは マッチしない
23.
他にもよくあるパターン ● varやmutableコレクション ○ ループカウンタやコレクションの詰め替え処理など ●
whileループ ○ varやmutableなコレクションと組み合わせで使用されてい ることが多い ○ returnやbreakなどとの合わせ技担っている場合も
24.
ループカウンタが必要な場合 var i =
1 seq.foreach { x => println(s"${i}: ${x}") i = i + 1 }
25.
zipWithIndexを使う seq.zipWithIndex.foreach { case
(x, i) => println(s"${i + 1}: ${x}") }
26.
途中で処理を止めたい場合 var line: String
= null val lines = new ListBuffer[String]() line = reader.readLine() while(line != null){ lines += line line = reader.readLine() }
27.
Iterator.continuallyが使える val lines =
Iterator.continually(reader.readLine()) .takeWhile(_ != null)
28.
バッドコードを検出するために ● コンパイラのオプションを設定しよう ● Lintツールを使おう ○
scalastyle ○ wartremover scalacOptions in ThisBuild ++= Seq( "-feature", "-unchecked", "-deprecation", "-Xfuture", "-Yno-adapted-args", "-Ywarn-dead-code", "-Ywarn-numeric-widen" )
29.
SparkがScalaの隙間産業を生み出している ● PredictionIO ● Spark
MLlib ● Mahout-Spark ● Elasticsearch-Hadoop
30.
SparkがScalaの隙間産業を生み出している ● PredictionIO ● Spark
MLlib ● Mahout-Spark ● Elasticsearch-Hadoop あなたもScala警察として OSSコミッタになろう!
Download now