関数型都市忘年会『はじめての函数型プログラミング』

Kenta USAMI
Kenta USAMIPHPer - pixiv Inc. at pixiv Inc.
はじめての
函数型プログラミング
                  うさみけんた
            Zonu.EXE

   2011年12月10日
   関数型都市勉強会
あんた誰よ
ò  うさみけんた

ò  技術趣味者
  ò  プログラミング言語
  ò  ガジェット… etc.
ò  Rubyistです(∑ÿØ
  ò  お仕事では、いろいろ。
はじめに
ò  函数ってなあに? からはじめます

ò  基本的には函数型プログラミングを知らない、
    よくわからないひと向けな感じで

ò  函数型プログラミング言語じゃなくても
    利点を巧く取り入れてプログラミングできるよ!

ò  発表者は初心者です!!1 ←重要
函数とは何か


f (x) = 3x + 2
   こんなの
わたしたちは算数で習った
ò  f (x) = 3x + 2              x      -2     -1   0   1   2
       y = 3x + 2               y      -4     -1   2   5   8
ò  この例は一次方程式の函数
   ò  ある数 x に対して、対応する値 y を計算して返す
   ò  y = 3! ("2) + 2
                         y = 3! (1) + 2 = 5
        = "6 + 2 = "4
ò  ほかにも三角函数とか対数函数とか高校(数学IIとか)
    でやった気がしますね
函数とは何か
ò  英語では function (ファンクション)

ò  函数(かんすう) = 関数
  ò  漢字表記についてはいろんな経緯があるけど省略
  ò  どうして上海をシャンハイと読むのか?
  ò  (少くとも日本人には)どっちでもいい


ò  このセッションに限っては「函数」で統一します
プログラムでは…
ò  f (x) = 3x + 2

ò  C言語なら、だいたいこんな感じに書けますね…

 int f(int x){
                 printf(“%d, ”, f(0));
     return 3 * x + 2;
         printf(“%d, ”, f(1));
 }                              printf(“%d ”, f(2));

                                2, 5, 8


 for(int n = -2; n <= 3; n++){
              n=-2 f(n)=-4
     printf(“n=%2d f(n)=%2dn”, n, f(n));
   n=-1 f(n)=-1
 }
                                          n= 0 f(n)= 2
                                             ………
ちょっと考えてみる
#include <stdio.h>
int main(void){
    for(int n = -2; n <= 3; n++){
        printf(“n=%2d f(n)=%2dn”, n, f(n));
    }
    return 0;
}


ò  このプログラムの問題点
   ò  ぶっちゃけ、継続条件を考えるのめんどくないです?
   ò  うっかり n < 3 とか n >= 3 とか書いちゃったら…?
Pythonならどうするよ
for n in range(-2, 3):
    print “n=%2d f(n)=%2d” % (n, f(n))

ò  range(-2, 3) = [-2, -1, 0, 1, 2] というリスト
   ò  range(a, b) は「a 以上 b 未満」 と読める
ò  n の値は -2, -1, 0, 1 2 と変化する

ò  コードのメリット
   ò  継続条件が「ない」
   ò  リストの各要素に対して処理を実行
設計指向の違い
ò  キミの言語は何指向?
  ò  C言語は手続き型プログラミング言語
  ò  Pythonは手続き型+オブジェクト指向+函数型
  ò  F#/Scalaは函数型+オブジェクト指向+手続き型
  ò  Haskellは純粋函数型プログラミング言語
ò  補足
  ò  どの言語でその記述ができるか、という話ではない
  ò  例: C言語でもオブジェクト指向プログラミングは可能
設計指向の違い
 ò  手続き型
 ò  オブジェクト指向
 ò  函数型
ò  処理の抽象化の違い=人間がどのように考えるか

ò  「大雑把に言って」コンパイラが最適化できるので
    これらの間で実行の速度差は出にくくなっている
 ò  むしろ、メモリの型付けシステムによって差がつく
 ò  CやC++、F#などは静的型付けの仲間 = 速い
改めて、函数型言語
ò  一般的には、ラムダ計算の概念を論理的基盤にした
    プログラミング言語のことを指す

ò  函数型言語では函数をお手軽に扱える
 ò  プログラム中で簡単に函数を定義したり、
     変数に代入できたり、使い捨ての函数を作ったり!
ò  抽象度の高いループ
 ò  リストに対する処理
 ò  再帰処理
函数型言語の系統
ò  LISP (LISt Processing)
   ò  Scheme
   ò  Common Lisp
   ò  Emacs Lisp
ò  ML (Meta-Language)
   ò  Standard ML (SML)
   ò  OCaml, F#
   ò  (Haskell)             (Scala)
R.I.P.
手続き型の中の函数型
ò  函数型言語で培われた要素は、部分的に
    手続き型言語にも持ち込まれている

ò  例えば: Ruby、Python、JavaScriptなどは
  ò  簡単に配列(リスト)を使って反復処理ができる
  ò  プログラム中で簡単に函数(相当)を定義して使える
JavaScriptだと…
// function文で定義する場合
function f1(x){
    return 3 * x + 2;
}
// function式に代入する場合
var f2 = function(x){ return 3 * x + 2 }
// 作成した函数をそのままで使用する場合
console.log( function(x){ return 3 * x + 2 }(5) )
// 配列をその場で作って、それぞれにf1を適用
[-2,-1,0,1,2].map(f1)
//=> [-4, -1, 2, 5, 8]
// その場で作った配列にその場で作った函数をry
[-2,-1,0,1,2].map(function(x){return 3 * x + 2 })
Rubyだと
# lambdaメソッドで
f1 = lambda{|x|
    return 3 * x + 2;
}
f1[5] 
#=> 17
# lambdaを配列のそれぞれに適用
[-2,-1,0,1,2].map{|x| return f1[x] }
#=> [-4, -1, 2, 5, 8]
# lambdaを配列のそれぞれに適用
[-2,-1,0,1,2].map{|x|
    return 3 * x + 2;
}
#=> [-4, -1, 2, 5, 8]
Pythonなら…再び
# 順番に実行されるだけなのでMapではない
def f1(x):
    return 3 * x + 2

for n in range(-2, 3):
    print f(n)
# リスト内包 = map と同じ
[f1(n) for n in range(-2, 3)]
#=> [-4, -1, 2, 5, 8]
# リスト内包: for 内で関数を作れる
[ (lambda x: 3*x+2)(n) for n in range(-2, 3)]
#=> [-4, -1, 2, 5, 8]
ラムダ計算とは何か
ò  ラムダ計算(lambda calculus)は、理論計算機科学や
    数理論理学における、関数の定義と実行を抽象化した
    計算体系である。ラムダ算法とも言う。

ò  例えば、ある数に 2 を加える関数 f を考える。これは
    通常の書き方では f(x) = x + 2 と書くことができるだ
    ろう。この関数 f は、ラムダ計算の式(ラムダ式とい
    う)では λx. x + 2 と書かれる。……この関数に 3 を
    適用した結果の数 f(3) は (λx. x + 2) 3 と書かれる。
  ò  以上、Wikipediaより引用 (ja.Wp: ラムダ計算)
Pythonならラムダ計算も
ò  RubyでもJavaScriptでもできるんですけどね

ò  Pythonでラムダ計算 - DT戦記(zonu_exeの日記)
  ò  この内容を実演しました
  ò  別にPythonはラムダが得意なわけではないです
発表ここまで
ò  以下のスライドは後からの補足。
質疑応答
ò  好きな函数型言語は?
 ò  F#です(∑ÿØ
 ò  最近は「ふつうのHaskellプログラミング」を読んでる
   ò  でもまづはF#ですよね
質疑応答
ò  Pythonのmapを避けたのはなぜか?
  ò  Pythonの作者がLisp的なmapとかlambdaを入れるのが
      嫌だったらしいので避けました
  ò  Pythonでは函数内にローカル変数を作れるので、
      ちょっと面倒でもdefで名前付きの函数を作るのが正統
  ò  その観点では「Pythonでラムダ計算」は邪道!
質疑応答
ò  Pythonでは再帰でスタックを食い潰さないか
 ò  すみません、調べてませんでした
   ò  末尾最適化はしてくれないらしいです
 ò  多くの函数型言語では末尾最適化してくれて、
     機械語レベルではループに置換されます
あとから気付いた
ò  手続き型って何よ、ってことをしっかり説明できて
    ないよね

ò  説明なしに「(値)に函数を適用」って喋ってたよね

ò  C++11にはlambdaあるよね、も盛り込んでおけば
    おいしかったかもしれない

ò  C++のラムダとデリゲートの話も(ry
1 of 25

Recommended

Haxeについて by
HaxeについてHaxeについて
HaxeについてMoriyoshi Koizumi
7.5K views47 slides
現実(えくせる)と戦う話 by
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話bleis tift
7.1K views42 slides
言語処理系入門3 by
言語処理系入門3言語処理系入門3
言語処理系入門3Kenta Hattori
715 views27 slides
言語処理系入門€2 by
言語処理系入門€2言語処理系入門€2
言語処理系入門€2Kenta Hattori
4.6K views24 slides
Ruby講座一回目 by
Ruby講座一回目Ruby講座一回目
Ruby講座一回目Masayuki Matsumoto
568 views37 slides
Ruby講座一回目 by
Ruby講座一回目Ruby講座一回目
Ruby講座一回目Masayuki Matsumoto
529 views37 slides

More Related Content

What's hot

言語処理系入門1 by
言語処理系入門1言語処理系入門1
言語処理系入門1Kenta Hattori
3.3K views17 slides
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング by
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミングYuto Takei
2.7K views44 slides
F#入門 ~関数プログラミングとは何か~ by
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
3.6K views79 slides
命令プログラミングから関数プログラミングへ by
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
3.8K views27 slides
C言語講習会2 by
C言語講習会2C言語講習会2
C言語講習会2odenhadengaku
2.8K views71 slides
F#によるFunctional Programming入門 by
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門bleis tift
3.6K views35 slides

What's hot(20)

言語処理系入門1 by Kenta Hattori
言語処理系入門1言語処理系入門1
言語処理系入門1
Kenta Hattori3.3K views
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング by Yuto Takei
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
Yuto Takei2.7K views
F#入門 ~関数プログラミングとは何か~ by Nobuhisa Koizumi
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
Nobuhisa Koizumi3.6K views
命令プログラミングから関数プログラミングへ by Naoki Kitora
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
Naoki Kitora3.8K views
F#によるFunctional Programming入門 by bleis tift
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
bleis tift3.6K views
1+1=2の話(coinsのOCのLTで話したやつ) by 明洋 庄司
1+1=2の話(coinsのOCのLTで話したやつ)1+1=2の話(coinsのOCのLTで話したやつ)
1+1=2の話(coinsのOCのLTで話したやつ)
明洋 庄司278 views
Haskell by todorokit
HaskellHaskell
Haskell
todorokit1.1K views
Sigsoftmax: Reanalysis of the Softmax Bottleneck by RI
Sigsoftmax: Reanalysis of the Softmax BottleneckSigsoftmax: Reanalysis of the Softmax Bottleneck
Sigsoftmax: Reanalysis of the Softmax Bottleneck
RI 42 views
C言語講習会1 by odenhadengaku
C言語講習会1C言語講習会1
C言語講習会1
odenhadengaku40.3K views
Control.Arrow by haru haru
Control.ArrowControl.Arrow
Control.Arrow
haru haru134 views
Javascriptで学ぶ Functional Programming by todorokit
Javascriptで学ぶ Functional ProgrammingJavascriptで学ぶ Functional Programming
Javascriptで学ぶ Functional Programming
todorokit2.3K views
関数型志向Python - LLまつり2013 by Esehara Shigeo
関数型志向Python - LLまつり2013関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
Esehara Shigeo12.6K views
情報科学シケスラ Fibonacci by tozan gezan
情報科学シケスラ Fibonacci情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci
tozan gezan1.4K views
圏論とプログラミング読書会#2 資料 by 53ningen
圏論とプログラミング読書会#2 資料圏論とプログラミング読書会#2 資料
圏論とプログラミング読書会#2 資料
53ningen3K views
やさしく知りたいC言語 by uru nru
やさしく知りたいC言語やさしく知りたいC言語
やさしく知りたいC言語
uru nru44.4K views
君はまだ,本当のプリプロセスを知らない by digitalghost
君はまだ,本当のプリプロセスを知らない君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない
digitalghost5.4K views

Similar to 関数型都市忘年会『はじめての函数型プログラミング』

普通のプログラミング言語R by
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語RShuyo Nakatani
5.2K views76 slides
第一回Data mining勉強会 -第二章 by
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
515 views45 slides
第一回Data mining勉強会 -第二章 - 原案 by
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
605 views45 slides
たのしい関数型 by
たのしい関数型たのしい関数型
たのしい関数型Shinichi Kozake
6.2K views94 slides
関数型プログラミング入門 for Matlab ユーザー by
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザーIchiro Maruta
36.1K views46 slides
Lisp tutorial for Pythonista : Day 2 by
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
2.1K views51 slides

Similar to 関数型都市忘年会『はじめての函数型プログラミング』(20)

普通のプログラミング言語R by Shuyo Nakatani
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
Shuyo Nakatani5.2K views
第一回Data mining勉強会 -第二章 by Tomonobu_Hirano
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
Tomonobu_Hirano515 views
第一回Data mining勉強会 -第二章 - 原案 by yushin_hirano
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano605 views
関数型プログラミング入門 for Matlab ユーザー by Ichiro Maruta
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー
Ichiro Maruta36.1K views
Lisp tutorial for Pythonista : Day 2 by Ransui Iso
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
Ransui Iso2.1K views
これからの「言語」の話をしよう ―― 未来を生きるためのツール by Nobuhisa Koizumi
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
Nobuhisa Koizumi1.3K views
Rあんなときこんなとき(tokyo r#12) by Shintaro Fukushima
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima5.6K views
Material by _TUNE_
MaterialMaterial
Material
_TUNE_3.5K views
第一回ゆるふわーる by Sachiko Hirata
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
Sachiko Hirata4.1K views
プログラムの処方箋~健康なコードと病んだコード by Shigenori Sagawa
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
Shigenori Sagawa8.9K views
関数プログラミング入門 by Hideyuki Tanaka
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka21.8K views
[Basic 12] 関数型言語 / 型理論 by Yuto Takei
[Basic 12] 関数型言語 / 型理論[Basic 12] 関数型言語 / 型理論
[Basic 12] 関数型言語 / 型理論
Yuto Takei364 views
テンプレートメタプログラミング as 式 by digitalghost
テンプレートメタプログラミング as 式テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式
digitalghost2K views
Scalaで萌える関数型プログラミング[1.1.RC1] by Ra Zon
Scalaで萌える関数型プログラミング[1.1.RC1]Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Ra Zon2.1K views
数式をnumpyに落としこむコツ by Shuyo Nakatani
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
Shuyo Nakatani31.8K views
F#の基礎(嘘) by bleis tift
F#の基礎(嘘)F#の基礎(嘘)
F#の基礎(嘘)
bleis tift3.1K views

More from Kenta USAMI

5分でわかる静的解析入門 by
5分でわかる静的解析入門5分でわかる静的解析入門
5分でわかる静的解析入門Kenta USAMI
3.5K views21 slides
なんとかStormに負けたくないEmacs初級篇 by
なんとかStormに負けたくないEmacs初級篇なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇Kenta USAMI
1.7K views16 slides
たのしい独自フレームワーク by
たのしい独自フレームワークたのしい独自フレームワーク
たのしい独自フレームワークKenta USAMI
8.7K views23 slides
Real World PHP in pixiv by
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixivKenta USAMI
8.6K views31 slides
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP by
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHPKenta USAMI
2.4K views49 slides
はじめてのUser-Agent文字列 by
はじめてのUser-Agent文字列はじめてのUser-Agent文字列
はじめてのUser-Agent文字列Kenta USAMI
8.6K views22 slides

More from Kenta USAMI(20)

5分でわかる静的解析入門 by Kenta USAMI
5分でわかる静的解析入門5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI3.5K views
なんとかStormに負けたくないEmacs初級篇 by Kenta USAMI
なんとかStormに負けたくないEmacs初級篇なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
Kenta USAMI1.7K views
たのしい独自フレームワーク by Kenta USAMI
たのしい独自フレームワークたのしい独自フレームワーク
たのしい独自フレームワーク
Kenta USAMI8.7K views
Real World PHP in pixiv by Kenta USAMI
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI8.6K views
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP by Kenta USAMI
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
Kenta USAMI2.4K views
はじめてのUser-Agent文字列 by Kenta USAMI
はじめてのUser-Agent文字列はじめてのUser-Agent文字列
はじめてのUser-Agent文字列
Kenta USAMI8.6K views
pixivとl10n/i18n by Kenta USAMI
pixivとl10n/i18npixivとl10n/i18n
pixivとl10n/i18n
Kenta USAMI3.9K views
Rubicureに学ぶメタプログラミング by Kenta USAMI
Rubicureに学ぶメタプログラミングRubicureに学ぶメタプログラミング
Rubicureに学ぶメタプログラミング
Kenta USAMI3.2K views
Accept-language by Kenta USAMI
Accept-languageAccept-language
Accept-language
Kenta USAMI12.4K views
これからの名前の話をしよう by Kenta USAMI
これからの名前の話をしようこれからの名前の話をしよう
これからの名前の話をしよう
Kenta USAMI5.8K views
近況の報告と自宅警備員が失職した話 by Kenta USAMI
近況の報告と自宅警備員が失職した話近況の報告と自宅警備員が失職した話
近況の報告と自宅警備員が失職した話
Kenta USAMI2.1K views
学ばないDSL by Kenta USAMI
学ばないDSL学ばないDSL
学ばないDSL
Kenta USAMI1.2K views
札幌F#勉強会とは何だったのか by Kenta USAMI
札幌F#勉強会とは何だったのか札幌F#勉強会とは何だったのか
札幌F#勉強会とは何だったのか
Kenta USAMI1.7K views
tadsanとは誰か by Kenta USAMI
tadsanとは誰かtadsanとは誰か
tadsanとは誰か
Kenta USAMI2.3K views
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか by Kenta USAMI
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったかDTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
DTの異常な愛情 または私は如何にして心配するのを止めてWILLCOMを愛するようになったか
Kenta USAMI872 views
PowerShell+Lisp = ? (第2回残パン会) by Kenta USAMI
PowerShell+Lisp = ? (第2回残パン会)PowerShell+Lisp = ? (第2回残パン会)
PowerShell+Lisp = ? (第2回残パン会)
Kenta USAMI1.6K views
キャンプ後の生活の変化とモチベーションの変化について by Kenta USAMI
キャンプ後の生活の変化とモチベーションの変化についてキャンプ後の生活の変化とモチベーションの変化について
キャンプ後の生活の変化とモチベーションの変化について
Kenta USAMI963 views
After Camp 2011『今日から始める函数型プログラミング』(内容無し) by Kenta USAMI
After Camp 2011『今日から始める函数型プログラミング』(内容無し)After Camp 2011『今日から始める函数型プログラミング』(内容無し)
After Camp 2011『今日から始める函数型プログラミング』(内容無し)
Kenta USAMI749 views
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング) by Kenta USAMI
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
黒歴史・闇RubyKaigi(美しいRubyと私 そして闇プログラミング)
Kenta USAMI773 views

Recently uploaded

SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
172 views13 slides
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化Knowledge & Experience
8 views34 slides
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
233 views63 slides
さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
91 views58 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
175 views15 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
73 views42 slides

Recently uploaded(12)

SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4172 views
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之91 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda175 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka71 views
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料
ssusere7a2172300 views
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo14 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.41 views

関数型都市忘年会『はじめての函数型プログラミング』