SlideShare a Scribd company logo
1 of 64
Download to read offline
Scalaやろうぜ
Java Programing上級
講師: 有田一平@Cambridge Energy Data Lab
1Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
2Saturday, September 7, 13
講師紹介 有田一平
現職はArchitect@Cambridge Energy
Data Lab, Ltd
前職はグリー株式会社、JPモルガン証券
株式会社
名古屋出身
趣味はアウトドアスポーツ
2005年早稲田大学人間科学部卒業
github: @peisan
twitter: @ippeeeee
3Saturday, September 7, 13
皆さんの事も教えて下さい :-)
名前
受講した理由
趣味
出身
などなんでも
生徒自己紹介
4Saturday, September 7, 13
講義の目的
本科目では、インターネットにおいて主力のプログラミング言
語の一つとなっているJava言語をもとにプログラミングの応用
なスキルを身につける。授業は、講義・演習のサイクルの繰り
返しで行われる。講義では、まずオブジェクト指向の基礎を学
び、続けてJavaプログラミングの概念(例外処理、ファイル入
出力、スレッド、ネットワークなど)について知識を習得す
る。演習では講義内容をふまえて実際にプログラミングを行
う。第13回—15回では自身でテーマを決めて、学習したプログ
ラミングスキルを活用してソフトの作成を行う。
5Saturday, September 7, 13
提案: Scalaやりませんか
ScalaはイケてるJava
JVM上で動くプログラミング言語(という意味ではJavaの一種)
Javaのライブラリがそのまま使えます(ので基本的にJavaでできること
は全部できる)
記述が簡単で、すぐに覚えられるので学習用途に最適
イメージ的にはJavaの進化系(Java 20くらい)
オブジェクト指向言語かつ関数型言語
6Saturday, September 7, 13
Javaの特徴
Java
JVM(Javaの実行環境)上で動く、強い静的
片付け、オブジェクト指向言語、文法が厳しい
一方Script言語(Python, Ruby, Perl)は
動的型付け、インタープリタ、文法が緩い
7Saturday, September 7, 13
Scalaを使っている会社
8Saturday, September 7, 13
JVM
How does Scala work?
hello.java
hello.class
javac
java
Hello!
hello.scala
hello.class
scalacscala
Hello!
OS
9Saturday, September 7, 13
Java vs Scala
Hello.java Hello.scala
やっぱりJavaは冗長すぎる
Scalaだとコードの量は半分くらいになります
10Saturday, September 7, 13
Hello.javaを作って実行しよう
Hello.javaファイルをエディタで開く(e.g. #vim Hello.java)
Helloクラスを作る
main methodを作る
compile する(#javac Hello.java)
実行する (#java Hello Fujikura)
11Saturday, September 7, 13
Javaは面倒くさい
Editorで長いコードを
書き書きして
javacでコンパイルして
classファイル作って
javaで実行
12Saturday, September 7, 13
ScalaならREPLで楽々
コマンドラインで確認しながら
楽々実行もできます
13Saturday, September 7, 13
提案: JavaとScalaを
対比しながらScalaで実装
あくまでも効率のよいJavaとして利用
実装はScalaでサクサクやりましょう
14Saturday, September 7, 13
Java7のインストール
JDK7をインストール
http://www.oracle.com/technetwork/java/javase/downloads/
index.html
環境変数 (~/.profileとかに)
export JAVA_HOME=/Library/Java/JavaVirtualMachines/
jdk1.7.0_21.jdk/Contents/Home/
export PATH=$PATH:$JAVA_HOME/bin
15Saturday, September 7, 13
Scalaのインストール
XcodeのCommand Line Toolsをインストール
Preference -> Downloads -> Command Line Tools
16Saturday, September 7, 13
Scalaのインストール
Homebrew(http://brew.sh/)でgitとScalaとsbtのインストール
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
#brew install git scala sbt --with-docs
Proxy設定
ダウンロードが上手く行かない場合は以下を試してみてください
export https_proxy=www-proxy.waseda.jp:8080
export http_proxy=www-proxy.waseda.jp:8080
環境変数
export SCALA_HOME=/usr/local/Cellar/scala/2.10.1/
17Saturday, September 7, 13
Hello.scalaを作って実行しよう
Hello.scalaファイルをエディタで開く(e.g. #vim Hello.scala)
Helloオブジェクトを作る
main methodを作る
compile する(#scalac Hello.java)
実行する (#scala Hello Fujikura)
18Saturday, September 7, 13
GitHubの設定
GitHubとは
gitという分散バージョン管理
システムのWebでのコラボ
レーションツール
My Account
https://github.com/peisan
授業のRepository
https://github.com/peisan/
WasedaAdvancedJavaClass
19Saturday, September 7, 13
GitHubの使い方
授業のRepositoryを自分の
RepositoryにFork
Local PCにcloneする
課題の提出は授業の
RepositoryにPull Requestで
行う
Someone’s
Repository
Local
Repository
clone
My
Repository
My Local
Repository
clone
github.com
Local PC
Push
Pull
Request
Fork
20Saturday, September 7, 13
GitHub Tutorial
Tutorial
http://git-scm.com/docs/gittutorial
Video
http://git-scm.com/videos
gitの使い方を1ステップずつ学べるサイト
http://try.github.io
21Saturday, September 7, 13
IDE: IntelliJ IDEA
IDE (Integrated development environment)
シンタックスハイライト、デバッグ機能、補完機能などを備えた 統合開発環境
IntelliJ IDEAのダウンロード(FreeのCommunity Editionで十分)
http://www.jetbrains.com/idea/
Projectの準備
$sbt compile
$sbt gen-idea
gen-ideaで生成されたprojectをOpen
22Saturday, September 7, 13
Scala Plugin
plugins -> Browse RepositoriesからScala Pluginのインストール
23Saturday, September 7, 13
Scala Compiler
CompilerからUse External Compilerのチェックを外す
Compiler -> Scala Compilerからインストールしたscala 2.10.2を選択
24Saturday, September 7, 13
Java Tutorials
「Java 1 はじめてみようプログラミング」
「Java 2 アプリケーションづくりの初歩」
サポートページ
http://mitani.cs.tsukuba.ac.jp/book_support/java/
25Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
26Saturday, September 7, 13
Main Method
一番初めに書くいつものやつです
27Saturday, September 7, 13
変数定義
valで定数宣言
varで変数宣言
: <Type>で型指定(しな
くてもよい)
final修飾子で定数宣言
修飾子なしで変数宣言
宣言時の型指定は必須
28Saturday, September 7, 13
変数の型
Java
(Primitive/Class)
Scala
(Classのみ)
型なし
なんでも
文字
文字列
4Byte整数
8Byte整数
4Byte浮動少数
8Byte浮動少数
真偽値
配列
void / Void Unit
NA / Object Any
char / Character Char
NA / String String
int / Integer Int
long / Long Long
float / Float Float
double / Double Double
fool / Boolean Boolean
array / Array Array
29Saturday, September 7, 13
条件分岐
if文はJavaと同じ
match文を使うとより簡潔
に書けます
30Saturday, September 7, 13
ループ
1から10まで出力するだけの単純なループ
for文も一行でスッキリ豆知識: toとuntilはInt
型のmethod
31Saturday, September 7, 13
実習: FizzBuzz
以下のルールに従って1から100までの文字列を出力するプログラムを作る
3で割り切れる場合は 「Fizz」、5で割り切れる場合は 「Buzz」、両者
で割り切れる場合は 「Fizz Buzz」
完成したらPull Requestを出してみましょう
https://help.github.com/articles/using-pull-requests
32Saturday, September 7, 13
関数定義
Hello or Gaoと出力する関数
def <関数名>(引数) : <返り値の型>
= {<関数の式>}で宣言
返り値の型は省略可
33Saturday, September 7, 13
実習: Count関数
与えられたArrayの要素数を数える関数を作る
Object名: CountArray
関数名: Count
引数: Array[Int]
返り値: Int
与えられたArrayの中で3の倍数と5の倍数の要素数を数える関数をつくる
関数名: CountIfFactorOfThreeOrFive
(上級編)与えられたArrayの中で 任意の条件式に一致する要素数を数える関数を作る(カリー化)
関数名: CountIf
34Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
35Saturday, September 7, 13
オブジェクト指向とは?
オブジェクト同士の相互作用として、システムの振る
舞いをとらえる考え方である
オブジェクトとは?
属性(変数)と振る舞い(関数やMethod)を持
つ
オブジェクト指向のテクニック
カプセル化
多様性
継承
36Saturday, September 7, 13
オブジェクトの生成
Human
firstName
lastName
age
getName()
Class (Type)
New
New
Human Object 1
firstName => Ippei
lastName => Arita
age => 31
getName() => “Ippei Arita”
Human Object 1
firstName => Shigeki
lastName => Fujioka
age => 22
getName() => “Shigeki Fujioka”
Human Object 1
firstName => Shohei
lastName => Fujikura
age => 23
getName() => “Fujikura Shohei”
New
37Saturday, September 7, 13
オブジェクトの基礎
38Saturday, September 7, 13
オブジェクトの基礎
Animal Class
name : 動物の名前
kind : 動物の種類
say() : nameとkindを含む文字列を出力
39Saturday, September 7, 13
演習: オブジェクトの基礎
以下のように定義されたBook Classを作成
Book
title : 本のタイトル
author : 本の著者
description() : titleとauthorを含む文字列を返す
Bookクラスから任意のtitleとauthorを持ったオ
ブジェクトを作成してdescriptionを出力
40Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
41Saturday, September 7, 13
継承とは?
スーパークラスの構造と機能がサブクラスにその
まま引き継がれる
スーパークラスを継承したサブクラスは、そのク
ラスと同等の型としての使用が可能になる
Animal
name
kind
say()
スーパークラス
(親クラス)
継承
(extends)
Dog
name
kind(上書き)
say()
bark()(追加)
サブクラス
(子クラス、派生クラス)
スーパークラスの属性と
振る舞いを受け継ぎつ
つ、サブクラスで上書き
または追加ができる
42Saturday, September 7, 13
継承
Dog Class (Animal Classを継承)
name : 動物の名前
kind : 動物の種類(Dogで固定)
say() : nameとkindを含む文字列を出力
bark() : Wan!と吠える
43Saturday, September 7, 13
演習: 継承
以下のように定義されたCat Classを作成
Cat Class (Animal Classを継承)
name : 動物の名前
kind : 動物の種類(Catで固定)
say() : nameとkindを含む文字列を出力
bark() : Nyan!と吠える
44Saturday, September 7, 13
演習: 継承応用編
以下のルールに従って任意のスーパークラス及び
サブクラスを作成
スーパークラスは一つ以上の属性及び振る舞いを持つ
サブクラスは一つ以上の独自の属性及び振る舞いを持つ
サブクラスはスーパークラスの属性と振る舞いを一つ以上上書き
(override)する
サブクラスは2つ以上定義する
サブクラスは2階層以上でもOK
45Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
46Saturday, September 7, 13
例外とは?
プログラムがある処理を実行している途中で、な
んらかの異常が発生すること
0 division
Null Pointer Exception
Array Index Out of Bounds Exception
Class Not Found Exception
47Saturday, September 7, 13
例外
throw new <Exception>で例外を投げる
try / catchでエラーハンドリング
48Saturday, September 7, 13
演習: 例外
JavaやScalaの実行時にも以下のようにいろいろな例外が発生します。以
下のような例外をハンドルするようなプログラムを書いてください
null.toString
java.lang.NullPointerException
123 / 0
java.lang.ArithmeticException
Array(1,2,3)(4)
java.lang.ArrayIndexOutOfBoundsException
"abc".toInt
java.lang.NumberFormatException
49Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
50Saturday, September 7, 13
File Read
やっぱJavaはめんどくさい
51Saturday, September 7, 13
File Write
PrintWriterを使いました
52Saturday, September 7, 13
演習: ファイル処理
text fileを読み込んで行番号をつけて別のファイ
ルとして書きだすプログラムを書く
53Saturday, September 7, 13
スケジュール
第1回: イントロダクション(授業の概要と進め方)
第2回: Java言語の基礎的知識の確認
第3回: クラスとオブジェクト1:オブジェクトの基礎
第4回: クラスとオブジェクト1:オブジェクトの基礎(演習)
第5回: クラスとオブジェクト2:継承
第6回: クラスとオブジェクト2:継承(演習)
第7回: 例外処理
第8回: 例外処理(演習)
第9回: ファイル処理
第10回: ファイル処理(演習)
第11回: スレッド(演習)
第12回: スレッド(演習)
第13回: ミニプロジェクト
第14回: ミニプロジェクト
第15回: ミニプロジェクト発表
54Saturday, September 7, 13
Threadとは
スレッド(thread)とは、CPU利用の単位。プ
ロセスに比べて、プログラムを実行するときの
コンテキスト情報が最小で済むので切り替えが
早くなる。スレッドは、thread of execution(実
行の脈絡)という言葉を省略したものである。
(Wikipediaより)
55Saturday, September 7, 13
Threadとは
処理の分割の単位
Computer
Process
Thread
Thread
Memory Space
Process
Thread
Thread
Memory SpaceMemory
CPU
CPU
56Saturday, September 7, 13
Thread
ScalaではActorを使うのが定石
57Saturday, September 7, 13
Actor
Message Queueを持ち、メッセージを逐次処理
できるThread
Threadとして実行される
メールボックス(キュー)にメッセージを受信する
メールボックスからメッセージを取り出して処理、またパターンマッ
チでメッセージを選択して処理をする
58Saturday, September 7, 13
おまけ: Web Framework
Play - かんたん
http://www.playframework.com/
Struts - ふるい
http://struts.apache.org/
Spring - むずい
http://www.springsource.org/javaconfig
59Saturday, September 7, 13
おまけ: ポインタ?
Stackにある変数はHEAPにあるオブジェクトへの参照(ポインタ)
(*)プリミティブ型はStack領域に値を持つ
HEAPStack
s
String Object
“test”
n Null
GCにより掃除される
60Saturday, September 7, 13
おまけ: jvisualvm
javaのプロセ
スの確認やモ
ニタリングが
できるツール
61Saturday, September 7, 13
演習: 素数の確認
与えられた値が素数かどうかを確認する関数
isPrime(n : Int) : Booleanを作る
Example
1 => false
2 => true
3 => true
4 => false
62Saturday, September 7, 13
演習: 素因数分解
引数で与えられたIntに対して素因数分解をして
結果をStringで返す関数を作る
Example: 99999 = 3 * 3 * 3 * 3 * 41 * 41 * 271 *
271
63Saturday, September 7, 13
演習: エイト・クイーン
エイト・クイーンのプログラムを作る
http://ja.wikipedia.org/wiki/エイト・クイーン
(ヒント)碁盤をBooleanの2次元配列で表現して
置ける場所を表現、後は力ずくで計算すれば…
(上級編)Actorを利用して各パターンを並列に
試行するように変更する
64Saturday, September 7, 13

More Related Content

Recently uploaded

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

Recently uploaded (8)

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

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

早稲田大学授業 - Java Programing上級