SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
すごいHaskellたのしく学ぼう!
   6. モジュール

                 伊勢  シン / 伊藤  伸裕
すごいHaskell読書会 in ⼤大阪#4 @ Fenrir Inc.
⾃自⼰己紹介
•  伊勢  シン / 伊藤  伸裕
  –  @iseebi / id:iseebi
•  スマートフォンアプリ作ってます。
  –  学⽣生時代は機械CADとか構造⼯工学のようなこととか
  –  趣味が転じてこんなことに
•  関数型⾔言語に触れるのはこの読書会がはじめて
  –  趣味で C# と Ruby
  –  仕事で Objective-C + Java、転職前は  PHPer。
  –  そろそろ落落第しそう
この資料料について
•  今回は、途中で資料料に書き込んで
   完成させていくスタイルを取りました。
•  ⻘青い字で書いた部分は、当⽇日書き加えたところ
   です。また、タイトル部分が⻘青い場合は、そのペー
   ジ⾃自体を当⽇日加えています。
•  また、⽂文中にファイル名が書いてある部分は、
   https://gist.github.com/4509540  にあります。
モジュール
•  関数、型、型クラスを定義したファイル
•  好きなだけ定義して、
   好きなだけ公開(エクスポート)できる。
•  再利利⽤用のため、管理理のため。

•  他の⾔言語でもよくありますよね。
 –  どこいっても疎結合にしておくのは⼤大事
•  そういえば、ghciの:loadにもこう書いてあった。
  :load [*]<module> ...   load module(s) and their dependents
ところで
•  ghci 起動した時に出てくるこれ
  $ ghci
  GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help
  Loading package ghc-prim ... linking ... done.
  Loading package integer-gmp ... linking ... done.
  Loading package base ... linking ... done.
  Prelude> 

•  package って?
  –  調べたらgemとかと同じパッケージマネージャが
     あるらしい。(cabal)
  –  Module の集合が Package であってる?
      •  厳密にはそうではない。バイナリが含まれることもある。
      •  今⽇日の範囲ではその理理解でもOK
Haskell の標準モジュール
•  ⽬目的に応じていろいろ分割されてる

•  デフォルトで  Prelude モジュールがロードされてる。
  –  5章までに出てきた関数などはすべてこのモジュールに
     ⼊入っているもの。


•  Hoogle 使おう
とりあえず動かす
•  import ⽂文を使う。
  –  GHCi  では  :m  を使うと本⽂文にあるけど、
     訳注に今は import 書けるってあるので、
     使うのは import で合わせてしまったほうが
     ⾯面倒少なさそう?
        Prelude> import Data.List
        Prelude Data.List> 

•  :m と :load の違いは?
  –  :load は、ファイルからしか読めないけど、
     :m は、ファイルからは読めない
     (あらかじめインストールされてるもののみ)
  –  importはどっちでもOK
import のバリエーション
•  特定の関数だけ取り込む
 Prelude> import Data.List (nub, sort) 


•  特定の関数以外取り込む
 Prelude> import Data.List hiding (nub) 

•  修飾付きインポート (名前衝突するときに)
 Prelude> import qualified Data.Map
            使うとき
                                            Data.Map.filter


 Prelude> import qualified Data.Map as M
          使うとき
                                                  M.filter
※関数合成でも . を使うけど、
   qualifiedされてて、スペースを開けずに使った場合は、
   インポートされた関数とみなす。
衝突したら?
•  上書きされることはなく、エラーになる。
   –  当然っちゃ当然
   –  実⾏行行されるまでは発覚しない…

Prelude> import Data.Map
Prelude Data.Map> null "a"

<interactive>:1:1:
    Ambiguous occurrence `null'
    It could refer to either `Prelude.null', imported from Prelude
                          or `Data.Map.null', imported from Data.Map
標準モジュールの関数で問題を解く (1)
•  ⽂文字列列から単語のリスト  (Data.List.words)
 Prelude Data.List> words "hey thease are the words in this sentence”
 Prelude Data.List> words "hey thease    are    the words in this sentence"
 ※words は  Prelude が再エクスポートしてるので、import せずとも使える
  (importしたものをそのまま再度度エクスポートすることができ、この場合は衝突しない)
•  グループ化する (Data.List.group)
 Prelude Data.List> group [1,1,1,1,2,2,2,2,3,3,2,2,2,5,6,7]
 Prelude Data.List> group ["boom","bip","bip","boom","boom”]


•  ソートする (Data.List.sort)
   Prelude Data.List> sort [5,4,3,7,2,1]
   Prelude Data.List> sort ["boom","bip","bip","boom","boom”]
再エクスポート

module A (
   words
              スコープにあるものがエクスポートされる
)
where

import Data.List



module A (
                   モジュールにあるものが⼀一括で
   module Data.List
            再エクスポートされる
)
where

import Data.List            Q. hiding つかえたら便便利利なんだけど?
                                      A. 書けないです
3つあわせて -> 単語を数える
•  こういう関数ができます。 -> work01.hs
  *Main> wordNums "wa wa wee wa wa wa"
  [("wa",5),("wee",1)]


•  関数合成を有効に使って、みやすく。
•  ※全く関係ないけど :edit 便便利利すね。
標準モジュールの関数で問題を解く  (2)
•  tails
   –  tailを繰り返し実⾏行行
•  isPrefixOf
   –  2つめのリストが1つめのリストではじまってるかどうか
•  any
3つあわせて -> リストの中にリストは含まれる?
•  こういう関数ができます。 -> work02.hs
  *Main> "art" `isIn` "party"
  True


•  ちなみに同様の関数は、
   Data.List に  isInfixOf とい名前で定義されてい
   る。
標準モジュールの関数で問題を解く  (3)
•  Data.Char モジュール

•  ord
   –  Char を受け取り、⽂文字コード数値を返す
•  chr
   –  数値を受け取り、対応する Char  を返す
2つあわせて -> シーザー暗号
•  こういう関数ができます。 -> work03.hs
  *Main> encode 4 "Sleipnir"
  "Wpimtrmv"
  *Main> decode 4 "Wpimtrmv"
  "Sleipnir"


•  decodeをつくるときは、encodeを再利利⽤用してる。

•  it を使うと、前に評価した値を使える
 –  GHCi に限る
GHCi便便利利オプション
•  :set +t
   –  評価したものの型が⾃自動で出⼒力力される
•  :set +s
   –  実⾏行行時間、消費メモリが⾃自動で出⼒力力される

•  ~/.ghci に書いておくといい
         $ cat ~/.ghci
        コマンドなんでもかけるので、
         :set +t +s
             パーミッション注意
         $ chmod 600 ~/.ghci

•  http://www.kotha.net/ghcguide_ja/latest/
   ghci.html
標準モジュールの関数で問題を解く  (4)
•  左畳込み…
 –  実は理理解しきれてなくて…
標準モジュールの関数で問題を解く  (5)
•  各桁の数が40になる最初の整数を探す

•  まず、各桁の合計を求める関数を作る
 –  digitToInt (Data.Char)
    •  ⼊入⼒力力されたCharを数字として読んで、数値で返す。
 –  これと、show の組み合わせで作る。
標準モジュールの関数で問題を解く  (5)
•  各桁の数が40になる最初の整数を探す

•  まず、各桁の合計を求める関数を作る
 –  digitToInt (Data.Char)
    •  ⼊入⼒力力されたCharを数字として読んで、数値で返す。
 –  これと、show の組み合わせで作る。
標準モジュールの関数で問題を解く  (5)
•  次に、この関数を使って、
   find (Data.List) で探す。
        Prelude Data.List> :t find
        find :: (a -> Bool) -> [a] -> Maybe a


•  Maybe a
   失敗することがあるという値。
   ⾃自分で作るときは、Just を使う。
Maybeの値を使おうとすると…
*Main Data.List> firstTo40
Just 49999
it :: Maybe Int
               Maybe だからそのまま⼊入らない
(0.01 secs, 1581784 bytes)
*Main Data.List> digitSum it

<interactive>:1:10:
    Couldn't match expected type `Int' with actual type `Maybe
Int'
    In the first argument of `digitSum', namely `it'
    In the expression: digitSum it
    In an equation for `it': it = digitSum it
(0.00 secs, 1588312 bytes)
Maybeの値を使うには
•  Data.Maybe.fromJustを使えばいい

*Main Data.List> import Data.Maybe
(0.00 secs, 2109848 bytes)
*Main Data.List Data.Maybe> firstTo40
Just 49999
it :: Maybe Int
(0.01 secs, 2115376 bytes)
*Main Data.List Data.Maybe> digitSum $ fromJust it
40
it :: Int
(0.01 secs, 2119672 bytes)
キーから値へのマッピング
•  連想リスト  まずは⾃自分でやってみる
 –  work05.hs


•  ただ、  Data.Map を使ったほうがはるかに⾼高速。
Mapの基本
•  前述のとおり  Data.Map は
   かなりの勢いでぶつかる名前持ってるので、
   修飾付きインポートする。
             import qualified Data.Map as Map 

•  fromList に、さっきやったみたいな
   連想リストを渡すと、Mapになる。
Prelude Data.Map> Map.fromList [(3,"shoes"),(4,"trees"),(9,"bees")]
fromList [(3,"shoes"),(4,"trees"),(9,"bees")]


•  これを使って書きなおしてみる。
   –  work06.hs
Mapの基本
•  Map.lookup
  –  抽出
•  Map.insert
  –  挿⼊入
•  Map.size
  –  ⻑⾧長さ
•  Map.map
  –  Map (値にかかる)
値の重複を許す場合
•  Map.fromList では、同じキーがあると
   その値は失われる。
•  Map.fromListWith を使うと、
   キーの重複を許すが、重複した時にどうするかを
   確認する。
 –  work07.hs
モジュールを作る
•  ファイル名とモジュールの名前は⼀一致させる。
•  ファイルの先頭に、下記のように記述
      module Geometry
      ( sphereVolume
      , sphereArea
      , cubeVolume
      公開するもの
      , cubeArea
      , cuboidVolume
      , cuboidArea
      ) where
      
      -- 実装を書く
モジュールを作る
•  Data.Map  とかと同じように、階層を切切りたい場
   合は
 –  フォルダを作成する (Geometry/Sphere.hs)
 –  module の宣⾔言を、階層付きにする
    (module Geometry.Sphere)

Más contenido relacionado

La actualidad más candente

Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Ransui Iso
 
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)Hiro H.
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with PythonAtsushi Hayakawa
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書くHideyuki Tanaka
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)Satoshi Yamada
 
Effective python#28
Effective python#28Effective python#28
Effective python#28bontakun
 
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Hiro H.
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くHiroya Kabata
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011Shuyo Nakatani
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crfShuyo Nakatani
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
Mosesdecoderコード解読の勘所
Mosesdecoderコード解読の勘所Mosesdecoderコード解読の勘所
Mosesdecoderコード解読の勘所Jun-ya Norimatsu
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門Takeshi Arabiki
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールNobuhisa Koizumi
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 
Scalaのオブジェクトの話
Scalaのオブジェクトの話Scalaのオブジェクトの話
Scalaのオブジェクトの話Yasuyuki Maeda
 
Python を使ってカメリオを高速化した話
Python を使ってカメリオを高速化した話Python を使ってカメリオを高速化した話
Python を使ってカメリオを高速化した話Nozomu Kaneko
 
Boostライブラリ一周の旅
Boostライブラリ一周の旅 Boostライブラリ一周の旅
Boostライブラリ一周の旅 Akira Takahashi
 

La actualidad más candente (20)

Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with Python
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書く
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
 
Effective python#28
Effective python#28Effective python#28
Effective python#28
 
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crf
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
Mosesdecoderコード解読の勘所
Mosesdecoderコード解読の勘所Mosesdecoderコード解読の勘所
Mosesdecoderコード解読の勘所
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
Scalaのオブジェクトの話
Scalaのオブジェクトの話Scalaのオブジェクトの話
Scalaのオブジェクトの話
 
Python を使ってカメリオを高速化した話
Python を使ってカメリオを高速化した話Python を使ってカメリオを高速化した話
Python を使ってカメリオを高速化した話
 
Boostライブラリ一周の旅
Boostライブラリ一周の旅 Boostライブラリ一周の旅
Boostライブラリ一周の旅
 

Similar a すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」

Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Yusaku Kawaguchi
 
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...Insight Technology, Inc.
 
Enumはデキる子 ~ case .Success(let value): ~
 Enumはデキる子 ~ case .Success(let value): ~ Enumはデキる子 ~ case .Success(let value): ~
Enumはデキる子 ~ case .Success(let value): ~Takaaki Tanaka
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1聡 中川
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAEMaito Kuwahara
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
DATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialDATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialTatsuya Tojima
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~CHY72
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)信之 岩永
 
Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①Yu Yu
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarrayRyosuke839
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5Nishida Kansuke
 
Stan勉強会資料(前編)
Stan勉強会資料(前編) Stan勉強会資料(前編)
Stan勉強会資料(前編) daiki hojo
 

Similar a すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」 (20)

Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約
 
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
 
Hiroshimar4_Rintro
Hiroshimar4_RintroHiroshimar4_Rintro
Hiroshimar4_Rintro
 
Enumはデキる子 ~ case .Success(let value): ~
 Enumはデキる子 ~ case .Success(let value): ~ Enumはデキる子 ~ case .Success(let value): ~
Enumはデキる子 ~ case .Success(let value): ~
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAE
 
Teclab3
Teclab3Teclab3
Teclab3
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
HiRoshimaR3_IntroR
HiRoshimaR3_IntroRHiRoshimaR3_IntroR
HiRoshimaR3_IntroR
 
DATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialDATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 Turorial
 
LDA入門
LDA入門LDA入門
LDA入門
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
 
Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
 
2kaime
2kaime2kaime
2kaime
 
Stan勉強会資料(前編)
Stan勉強会資料(前編) Stan勉強会資料(前編)
Stan勉強会資料(前編)
 

Más de Shin Ise

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossShin Ise
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5Shin Ise
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4Shin Ise
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3Shin Ise
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2Shin Ise
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10Shin Ise
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみるShin Ise
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1Shin Ise
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼうShin Ise
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスShin Ise
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかたShin Ise
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2Shin Ise
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼうShin Ise
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone ToolkitShin Ise
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントShin Ise
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7Shin Ise
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発Shin Ise
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーShin Ise
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るShin Ise
 

Más de Shin Ise (20)

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCross
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low Energyデバイス
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかた
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
 

Último

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Último (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」