SlideShare a Scribd company logo
1 of 60
Download to read offline
第1回 - 基礎だ 1 -
GMO Pepabo, Inc.
Joe Honzawa
2015/5/13 Elixir勉強会
Elixirだ
今回の内容
> 概要
> 型と制御構文
> モジュールと関数
> パターンマッチとガード式
概要
Elixirとは
> Erlang VM上で動く関数型言語
> 並列分散
> 高可用性
> 動的型付け
> モダンな文法
> マクロによるメタプログラミング
> プロトコルによる多態性
Elixirをつくった人
> José Valim
> 歩く生産性
> rackやrailsにもコミット
Install
> $ brew install elixir
型と制御構文
型など
型など
> integer
> float
> atom
> boolean
> binary
> string
> list
> tuple
> map
> range
> function
> keyword list
など
IEx
> ポチポチしながら聞いてね
> $ iex
Integer
> 10
> 0b101
> 0o12
> 0x0a
Float
> 1.0
> 3.14
> 6.02e23
> 1.602e-19
> 1e3 ← これダメ
Atom
> Rubyで言うSymbol
> :atom
> :hello
> :’white spaces !?’
> nil == :nil
Boolean
> true
> false
> 実はatom
> :true == true
> :false == false
Binary
> <<1>>
> <<256>> == <<0>>
> <<1>> == <<1::size(8)>>
> <<1, 0>> == <<256::size(16)>>
> <<1::float>> ==
<<63,240,0,0,0,0,0,0>>
String
> “hello world”
> “世界を征服だ”
> 必ずダブルクォートしてー
> “hey” == <<104,101,121>>
> ‘hey’ == [104,101,121]
List
> 単方向リスト
> [1, 2, 3]
> [true, [1, 2, 3], “hey”]
> [1 | [2, 3]] == [1, 2, 3]
> [1, 2 | []] == [1, 2]
> 先頭への要素追加は高速
Tuple
> 値の組
> {:ok, 30}
> {1, 2, 3, 4, 5}
> ランダムアクセスはO(1)
> 更新や追加はコスト高
Map
> %{}
> %{“price”=> 3980}
> map = %{price: 100, amount: 2}
> map.price
> Map.get(map, :price)
> map = Map.put(map, :amount, 1)
Range
> 範囲
> 1..3
> 4..-5
> 1.2 .. 3.8
> (1.5 in 1.2 .. 3.8) == true
Function
> 無名関数
> fn (x, y) -> x * y end
> fun = &(&1 * &2) # キャプチャ記法
> fun.(3, 4) == 12 # call
> 定義済み関数のキャプチャ
> IOモジュールのputs関数(arity: 1)
> Enum.each([1, 2], &IO.puts/1)
Keyword List
> {key, val}なタプルのリスト
> kw = [{:age, 3}, … ]
> mapっぽく書いてよい
> kw == [age: 3, … ]
> Keyword.get(kw, :age) == 3
Keyword List
> リストなので
> 順序が保存される
> ランダムアクセスは遅め
> キーが同じなら先頭側が優先される
Keyword.get([a: 1, a: 2], :a) == 1
Keyword List
> configとして使われることが多い
> 引数として渡すとき
> 最後の引数ならば [] 省略可
Keyword.keys([a: 1, b: 2])
Keyword.keys(a: 1, b: 2)
紹介した型など
> integer
> float
> atom
> boolean
> binary
> string
> list
> tuple
> map
> range
> function
> keyword list
制御構文
case
case the_number do
1 -> “one”
2 -> “two”
3 -> “three”
end
if
if now == :morning do
“good morning”
else
“hi”
end
cond
cond do
rem(y, 400) == 0 -> “Yes”
rem(y, 100) == 0 -> “No”
rem(y, 4) == 0 -> “Yes”
true -> “No”
end
無いもの
> return
> 最後の評価値が返る
> loop, while
> 再帰で
モジュールと関数
関数
def
defmodule MyModule do
def print(arg) do
iikanjini_hyoji(arg)
end
defp iikanjini_hyoji(arg) do
IO.inspect arg
end
end
MyModule.print %{price: 298}
原則
> 全ての関数はモジュールに属する
> 名前か引数の数が違うなら別の関数
> add/2とsub/2は区別される
> sum/1とsum/2は区別される
慣習
> ワーカ関数の名前はdo_xxx
> モジュール名とファイル構造は対応させる
> lib/my_module/math.ex
> MyModule.Math
> 最も関心のあるものを第一引数に
> 例外を投げる関数の名前はxxx!
> 真偽値を返す関数の名前はxxx?
デフォルト引数
defmodule MyModule do
def say(word  “hi”) do
IO.puts word
end
end
MyModule.say(“hello”)
MyModule.say
ディレクティブ
directives
defmodule MyModule do
import Enum
alias Enum, as: E
require Integer
use ExUnit
end
import
defmodule MyModule do
import Enum, only: [count: 1]
def kazoeru(list) do
count(list) # Enum.count/1
end
end
MyModule.kazoeru [1, 2, 3]
MyModule.count [1, 2] → ❌
alias
defmodule MyModule do
alias Enum, as: E
def kazoeru(list) do
E.count(list) # Enum.count/1
end
end
MyModule.kazoeru [1, 2, 3]
as無しalias
defmodule MyModule do
alias Phoenix.HTML.Form
alias Phoenix.HTML.Form, as: Form
# 等価
end
requireとuse
マクロが関係するのでまた後で…
構造体
定義
defmodule User do
defstruct name: “”, age: 0
end
> 初期値が全てnilなら
defmodule User do
defstruct [:name, :age]
end
> 1モジュール1構造体
使用
user = %User{}
user = %User{name: "jack"} # 作成
user.name
Map.get(user, :name) # 値の取得
# パターンマッチと更新
def hbd(user = %User{age: age}) do
%User{user | age: age+1}
end
ここまでのまとめ
> defで関数を定義
> defmoduleでモジュールを定義
> 関数はモジュールの中で定義
> importで関数を取り込む
> aliasで別名をつける
> defstructで構造体を定義
パターンマッチと
ガード式
パターンマッチ
賢く束縛
> [x, y] = [1, 2]
> x == 1
> y == 2
> {1, x, 3} = {1, 2, 3}
> x == 2
アンスコ
> 使わない変数の頭につける
> 何にでもマッチ
> 値は要らないとき
> [head | _] = [1, 2, 3]
> {y, _m, _d} = {2015, 4, 30}
代表的な
> {:ok, res} = File.read “a.txt”
> [head | tail] = [1, 2, 3, 4]
> head == 1
> tail == [2, 3, 4]
スマートな
defmodule MyModule do
def same?(x, x), do: true
def same?(_x, _y), do: false
end
実際的な
case File.read(“a.txt”) do
{:ok, res} -> res
{:error, :enoent} ->
“oh it isn’t here”
{:error, :eacces} ->
“you can’t read it”
_ -> “?”
end
ピン止め
> x = 1
> [x, y, 3] = [2, 2, 3]
> x == 2, y == 2
> [^x, y, 3] = [2, 2, 3]
> MatchError
↑
再束縛されちゃってる
ガード式
defで
defmodule MyModule do
def sum(list) when is_list(list) do
# 略
end
def sum(_arg) do
IO.puts "the arg must be a list"
end
end
caseで
case the_number do
x when x in [1, 2, 3] ->
IO.puts "small"
_ ->
IO.puts "big or negative"
end
ガードで使える奴ら
> ==
> !=
> ===
> !==
> >
> <
> <=
> >=
> and
> or
> not
> !
> +
> -
> *
> /
> <> (左辺がリテラル)
> ++ (左辺がリテラル)
> in
> is_atom/1
> is_binary/1
> is_bitstring/1
> is_boolean/1
> is_float/1
> is_function/1
> is_function/2
> is_integer/1
> is_list/1
> is_map/1
> is_nil/1
> is_number/1
> is_pid/1
> is_port/1
> is_reference/1
> is_tuple/1
> abs/1
> bit_size/1
> byte_size/1
> div/2
> elem2
> hd/1
> length/1
> map_size/1
> node/0
> node/1
> rem/2
> round/1
> self/0
> tl/1
> trunc/1
> tuple_size/1
ここまでのまとめ
> パターンマッチで賢く束縛
> 要らない変数はアンスコで始める
> ピンで再束縛を防ぐ
> パターンマッチとガードを合わせて
柔軟なマッチを
> ガードで使える関数は限られている
今回の内容
> Elixirとは
> 型と制御構文
> モジュールと関数
> パターンマッチとガード式

More Related Content

What's hot

姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bashJun Nogata
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Satoshi Kume
 
Perlで伝統芸能
Perlで伝統芸能Perlで伝統芸能
Perlで伝統芸能hitode909
 
Goの文法の実例と解説
Goの文法の実例と解説Goの文法の実例と解説
Goの文法の実例と解説Ryuji Iwata
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門kwatch
 
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPIPythonで始めるDropboxAPI
Pythonで始めるDropboxAPIDaisuke Igarashi
 
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Kenta USAMI
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門Hiroaki Murayama
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールNobuhisa Koizumi
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみたina job
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜勝成 鈴江
 
Stroustrup11章雑感
Stroustrup11章雑感Stroustrup11章雑感
Stroustrup11章雑感31 00
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話infinite_loop
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかKousuke Ebihara
 

What's hot (19)

姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
 
Perlで伝統芸能
Perlで伝統芸能Perlで伝統芸能
Perlで伝統芸能
 
Goの文法の実例と解説
Goの文法の実例と解説Goの文法の実例と解説
Goの文法の実例と解説
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPIPythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
 
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
Perl勉強会#2資料
Perl勉強会#2資料Perl勉強会#2資料
Perl勉強会#2資料
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみた
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
 
Stroustrup11章雑感
Stroustrup11章雑感Stroustrup11章雑感
Stroustrup11章雑感
 
01 php7
01   php701   php7
01 php7
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのか
 
zsh とわたし
zsh とわたし zsh とわたし
zsh とわたし
 

Viewers also liked

Elixirだ 第5回
Elixirだ 第5回Elixirだ 第5回
Elixirだ 第5回Joe_noh
 
Elixirだ 第4回
Elixirだ 第4回Elixirだ 第4回
Elixirだ 第4回Joe_noh
 
Elixirだ 第3回
Elixirだ 第3回Elixirだ 第3回
Elixirだ 第3回Joe_noh
 
Elixirだ 第6回
Elixirだ 第6回Elixirだ 第6回
Elixirだ 第6回Joe_noh
 
MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?Ryo Amano
 
Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15Ronan Gilhawley
 
Iba bangalore 2017 prospectus
Iba bangalore   2017 prospectusIba bangalore   2017 prospectus
Iba bangalore 2017 prospectusibabschool
 
Internet of Things
Internet of ThingsInternet of Things
Internet of ThingsMphasis
 
巨乳Vs貧乳  トレンドはどちらか実際に調べてみた
巨乳Vs貧乳  トレンドはどちらか実際に調べてみた巨乳Vs貧乳  トレンドはどちらか実際に調べてみた
巨乳Vs貧乳  トレンドはどちらか実際に調べてみたsutefa
 
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyerHOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyerLeonardo Meyer Z.
 
VoIP-Qualität im Netzwerk
VoIP-Qualität im NetzwerkVoIP-Qualität im Netzwerk
VoIP-Qualität im NetzwerkUCExpertTalk
 
Peter Opsvik's Philosophy of Sitting
Peter Opsvik's Philosophy of SittingPeter Opsvik's Philosophy of Sitting
Peter Opsvik's Philosophy of SittingErgomonkey
 
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycie
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycieJak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycie
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycieMichał Szafrański
 
Material didactico(1)
Material didactico(1)Material didactico(1)
Material didactico(1)Sumara molina
 

Viewers also liked (18)

Elixirだ 第5回
Elixirだ 第5回Elixirだ 第5回
Elixirだ 第5回
 
Elixirだ 第4回
Elixirだ 第4回Elixirだ 第4回
Elixirだ 第4回
 
Elixirだ 第3回
Elixirだ 第3回Elixirだ 第3回
Elixirだ 第3回
 
Elixirだ 第6回
Elixirだ 第6回Elixirだ 第6回
Elixirだ 第6回
 
Portadas nacionales 8 marzo-17
Portadas nacionales 8 marzo-17Portadas nacionales 8 marzo-17
Portadas nacionales 8 marzo-17
 
MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?MY JOB WENT TO VIETNAM?
MY JOB WENT TO VIETNAM?
 
Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15Loyalty Presentation - CM Forum April 15
Loyalty Presentation - CM Forum April 15
 
Frontera de Posibilidades de Producción
Frontera de Posibilidades de ProducciónFrontera de Posibilidades de Producción
Frontera de Posibilidades de Producción
 
Cuadro comparativo Corrientes Económicas
Cuadro comparativo Corrientes EconómicasCuadro comparativo Corrientes Económicas
Cuadro comparativo Corrientes Económicas
 
Iba bangalore 2017 prospectus
Iba bangalore   2017 prospectusIba bangalore   2017 prospectus
Iba bangalore 2017 prospectus
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
巨乳Vs貧乳  トレンドはどちらか実際に調べてみた
巨乳Vs貧乳  トレンドはどちらか実際に調べてみた巨乳Vs貧乳  トレンドはどちらか実際に調べてみた
巨乳Vs貧乳  トレンドはどちらか実際に調べてみた
 
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyerHOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
HOST | SPEAKER | Leonardo (Leo) Meyer @leomeyer
 
VoIP-Qualität im Netzwerk
VoIP-Qualität im NetzwerkVoIP-Qualität im Netzwerk
VoIP-Qualität im Netzwerk
 
Peter Opsvik's Philosophy of Sitting
Peter Opsvik's Philosophy of SittingPeter Opsvik's Philosophy of Sitting
Peter Opsvik's Philosophy of Sitting
 
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycie
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycieJak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycie
Jak poprawić scoring BIK, zadbać o wiarygodność i zaoszczędzić na kredycie
 
Material didactico(1)
Material didactico(1)Material didactico(1)
Material didactico(1)
 
March 2017 Calendar of Events
March 2017 Calendar of EventsMarch 2017 Calendar of Events
March 2017 Calendar of Events
 

Similar to Elixirだ 第1回強化版 前半

F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
 
Everyday Life with clojure.spec
Everyday Life with clojure.specEveryday Life with clojure.spec
Everyday Life with clojure.specKent Ohashi
 
リストモナドを作ってみた
リストモナドを作ってみたリストモナドを作ってみた
リストモナドを作ってみたAtsushi Kanehara
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミングOuka Yuka
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 
ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)taskie
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)Masahiro Hayashi
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Nagi Teramo
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
J qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかJ qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかHisashi Aruji
 
Metaprogramming in JuliaLang
Metaprogramming in JuliaLangMetaprogramming in JuliaLang
Metaprogramming in JuliaLangYuichi Motoyama
 
第2回R勉強会1
第2回R勉強会1第2回R勉強会1
第2回R勉強会1Paweł Rusin
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」Nagi Teramo
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 

Similar to Elixirだ 第1回強化版 前半 (20)

R language definition3.1_3.2
R language definition3.1_3.2R language definition3.1_3.2
R language definition3.1_3.2
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
Everyday Life with clojure.spec
Everyday Life with clojure.specEveryday Life with clojure.spec
Everyday Life with clojure.spec
 
リストモナドを作ってみた
リストモナドを作ってみたリストモナドを作ってみた
リストモナドを作ってみた
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門
 
Python02
Python02Python02
Python02
 
J qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているかJ qmobiはjqueryから軽量化しているか
J qmobiはjqueryから軽量化しているか
 
Metaprogramming in JuliaLang
Metaprogramming in JuliaLangMetaprogramming in JuliaLang
Metaprogramming in JuliaLang
 
第2回R勉強会1
第2回R勉強会1第2回R勉強会1
第2回R勉強会1
 
Introduction Xtend
Introduction XtendIntroduction Xtend
Introduction Xtend
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
 
Haskell超入門 Part.1
Haskell超入門 Part.1Haskell超入門 Part.1
Haskell超入門 Part.1
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 

More from Joe_noh

パフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことパフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことJoe_noh
 
Vue.jsのユニットテスト
Vue.jsのユニットテストVue.jsのユニットテスト
Vue.jsのユニットテストJoe_noh
 
Vuexと入力フォーム
Vuexと入力フォームVuexと入力フォーム
Vuexと入力フォームJoe_noh
 
カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後Joe_noh
 
サイクルOJTイントロダクション
サイクルOJTイントロダクションサイクルOJTイントロダクション
サイクルOJTイントロダクションJoe_noh
 
お産ウィークイントロダクション
お産ウィークイントロダクションお産ウィークイントロダクション
お産ウィークイントロダクションJoe_noh
 
モバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションモバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションJoe_noh
 
Webオペレーション研修イントロダクション
Webオペレーション研修イントロダクションWebオペレーション研修イントロダクション
Webオペレーション研修イントロダクションJoe_noh
 
Web開発研修イントロダクション
Web開発研修イントロダクションWeb開発研修イントロダクション
Web開発研修イントロダクションJoe_noh
 
リーンキャンバス
リーンキャンバスリーンキャンバス
リーンキャンバスJoe_noh
 
もっとgit
もっとgitもっとgit
もっとgitJoe_noh
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注Joe_noh
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくったJoe_noh
 
やってみた -URL外形監視-
やってみた -URL外形監視-やってみた -URL外形監視-
やってみた -URL外形監視-Joe_noh
 
Declaimerっていうやつつくった(つくってる)
Declaimerっていうやつつくった(つくってる)Declaimerっていうやつつくった(つくってる)
Declaimerっていうやつつくった(つくってる)Joe_noh
 
いつかどこかで使えそうな英語
いつかどこかで使えそうな英語いつかどこかで使えそうな英語
いつかどこかで使えそうな英語Joe_noh
 
NUTハッカソン2014成果報告
NUTハッカソン2014成果報告NUTハッカソン2014成果報告
NUTハッカソン2014成果報告Joe_noh
 
@nukokusa_botを支える技術
@nukokusa_botを支える技術@nukokusa_botを支える技術
@nukokusa_botを支える技術Joe_noh
 
孤独のgem開発
孤独のgem開発孤独のgem開発
孤独のgem開発Joe_noh
 
DNSキャッシュポイゾニングについての話
DNSキャッシュポイゾニングについての話DNSキャッシュポイゾニングについての話
DNSキャッシュポイゾニングについての話Joe_noh
 

More from Joe_noh (20)

パフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことパフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったこと
 
Vue.jsのユニットテスト
Vue.jsのユニットテストVue.jsのユニットテスト
Vue.jsのユニットテスト
 
Vuexと入力フォーム
Vuexと入力フォームVuexと入力フォーム
Vuexと入力フォーム
 
カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後
 
サイクルOJTイントロダクション
サイクルOJTイントロダクションサイクルOJTイントロダクション
サイクルOJTイントロダクション
 
お産ウィークイントロダクション
お産ウィークイントロダクションお産ウィークイントロダクション
お産ウィークイントロダクション
 
モバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションモバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクション
 
Webオペレーション研修イントロダクション
Webオペレーション研修イントロダクションWebオペレーション研修イントロダクション
Webオペレーション研修イントロダクション
 
Web開発研修イントロダクション
Web開発研修イントロダクションWeb開発研修イントロダクション
Web開発研修イントロダクション
 
リーンキャンバス
リーンキャンバスリーンキャンバス
リーンキャンバス
 
もっとgit
もっとgitもっとgit
もっとgit
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくった
 
やってみた -URL外形監視-
やってみた -URL外形監視-やってみた -URL外形監視-
やってみた -URL外形監視-
 
Declaimerっていうやつつくった(つくってる)
Declaimerっていうやつつくった(つくってる)Declaimerっていうやつつくった(つくってる)
Declaimerっていうやつつくった(つくってる)
 
いつかどこかで使えそうな英語
いつかどこかで使えそうな英語いつかどこかで使えそうな英語
いつかどこかで使えそうな英語
 
NUTハッカソン2014成果報告
NUTハッカソン2014成果報告NUTハッカソン2014成果報告
NUTハッカソン2014成果報告
 
@nukokusa_botを支える技術
@nukokusa_botを支える技術@nukokusa_botを支える技術
@nukokusa_botを支える技術
 
孤独のgem開発
孤独のgem開発孤独のgem開発
孤独のgem開発
 
DNSキャッシュポイゾニングについての話
DNSキャッシュポイゾニングについての話DNSキャッシュポイゾニングについての話
DNSキャッシュポイゾニングについての話
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

Elixirだ 第1回強化版 前半