SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
ゼロから始めるQ#
.NET Conf 福岡 2018/09/29
@tanaka_733
自己紹介
Software Maintenance Engineer @ Red Hat K.K.
◦ OpenShift, Red Hat on Azure/Azure Stack,
.NET Core/SQL Server on RHEL
Microsoft MVP for Azure (2018 Jul- )
◦ 今年6月までは MVP for VSDT (旧C#, ,NET)でした
ソーシャル活動
◦ Twitter: @tanaka_733
◦ Blog: 銀の光と碧い空
◦ Blog: Red Hat Developers
九州でQ#
今日のテーマ
Microsoftがリリースした
量子コンピューター向けプログラミング言語Q#を使ってみよう
◦ 資料は多めなので、
目標: Visual Studio or Visual Studio Code を使って
プロジェクトを作成してQ#プログラムを実行できるようになる
最初の10分 : 量子コンピューティングとQ#概要
次の15分 : Q#プロジェクトと文法概要
最後の 5分 : Quantum Katas紹介
なぜ量子コンピューターに興味が?
大学院時代:
◦ 博士論文(物理学)で希釈冷凍機温度(10mK)で動く超低温MRIを開発
◦ というわけでそれなりに量子力学をやっていた
(物理学から離れて約10年)
昨年のIgnite:
◦ 量子コンピューティングに力を入れていくということと、Q#が発表される
◦ JAZUGでのLT資料
◦ 希釈冷凍機が展示されていたこともあり、なつかしさからQ#を始めてみる
◦ 量子コンピューターのコミュニティに参加してみる
Microsoft
Quantumの
実例
先進的なMRI研究への適用事例(意訳)
Case Western Reserve UniversityとMicrosoft Quantumチームが協力
ガン性腫瘍の検知において量子アルゴリズムを利用
MRI画像診断の正確性向上、時間短縮のためMRF(Magnetic resonance
fingerprinting)の利用を検討
MRIでは画像を構築して診断するが、MRFでは最適化したパルス列から単一の値を
測定できる。
量子アルゴリズムにより、最適化したパルス列を効率よく見つけたい
現状ではAzure上でのSimulatorで計算している
スキャンした画像をHoloLensで可視化もしている
https://blogs.microsoft.com/blog/2018/05/18/microsoft-quantum-
helps-case-western-reserve-university-advance-mri-research/
量子コンピューティング入門
Q#をはじめるために必要そうなことをざっくりと
参考資料
QiitaファンミーティングLT: 量子コンピュータはじめました
◦ https://qiita.com/gyu-don/items/7d8e41b7653257ed4b46
量子コンピュータアプリ 勉強会オンラインコミュニティ
◦ connpassにて勉強会情報が載っています(週1回以上の高頻度)
◦ Slackがあるので、物理的に参加できない人も議論できます (福岡で開催したこともあるとのこと)
◦ https://qnn.connpass.com/
◦ #microsoft-q-sharp というチャネルに過去の資料がリンクされています
私の発表資料
◦ 5分でわかった気にさせないMicrosoft Quantum (JAZUG LT)
◦ https://www.slideshare.net/tanakata/microsoft-quantumn-in-5-mins
◦ 量子コンピューターを支える物理を覗いてみよう (JAZUG)
◦ https://www.slideshare.net/tanakata/20171219-84443097
◦ 量子コンピューター向け冷凍機について
◦ https://www.slideshare.net/tanakata/ss-88589352
◦ マヨラナ粒子によるスケーラブルな量子コンピューターの設計
◦ https://www.slideshare.net/tanakata/ss-91004676
量子コンピューターは大きく2種類ある
量子アニーリング方式と量子ゲート方式
◦ 目的やいまできること、将来できるようになることも全然違う
◦ 量子アニーリングのほうが実用化が進んでいる
◦ マイクロソフトがやりたいのは量子ゲート方式の方
◦ 目に見える範囲では量子アニーリングはやっていない
◦ Q#が扱うのも量子ゲート方式
巷の記事では混同して使われることも多いので注意
◦ 区別して使ったほうがいろいろわかりやすくなるはず
◦ わざと混同して自分に有利になるようにする人もいるので……
Credits; Eric Brown, Creative Destruction Lab https://www.bohr.technology/blog/quantum-computing-landscape-july-2018
量子ゲート方式
従来のコンピューターを発展させたもの
➔従来のプログラミング言語の拡張としてQ#を導入した
量子ビットを重ね合わせて計算、処理出来るデータ量が指数的に増大
実用化はまだ。動くものはあるけど、驚くほど役に立たないレベル。
◦ 実用化できれば従来のスパコンを超えるといわれている
大手IT企業が開発を進めている
◦ IBM: IBM Qとしてすでに一般の人でもさわれるものを提供している
◦ Google: 論文などでは開発が進んでいることを示している
◦ Microsoft: 目に見える進捗としては出遅れている感じ。商用利用は一番乗りできるといっている
◦ そのほかの企業や大学の研究室も開発中
量子ゲート方式
従来のコンピューターではビット(Bit): 0か1
これに論理ゲート(NOTとかANDとか)をかけて計算
量子コンピューターでは
量子ビット(Qubit): 0と1の重ね合わせ
◦ 実際には波の重ね合わせなので
振幅と位相を持つ ➔ Bloch球で表現できる
◦ https://docs.microsoft.com/en-us/quantum/quantum-concepts-4-qubit?view=qsharp-preview
◦ https://en.wikipedia.org/wiki/Bloch_sphere
量子ビットの状態はベクトルで、ゲート操作はテンソル積で表現できる
ブラケットとテンソル積
◦ https://docs.microsoft.com/ja-jp/quantum/quantum-concepts-4-qubit?view=qsharp-preview
◦ https://docs.microsoft.com/ja-jp/quantum/quantum-concepts-5-multiplequbits?view=qsharp-preview
◦ https://docs.microsoft.com/ja-jp/quantum/quantum-concepts-6-diracnotation?view=qsharp-preview
𝛼
𝛽 = 𝛼
1
0
+ 𝛽
0
1
= 𝛼ȁ ۧ0 + 𝛽ȁ ۧ1
1量子ビット
2量子ビット
𝛼
𝛽 ⊗
𝛾
𝛿
=
𝛼𝛾
𝛼𝛿
𝛽𝛾
𝛽𝛿
= 𝛼𝛾ȁ ۧ00 + 𝛼𝛿ȁ ۧ01 +𝛽𝛾ȁ ۧ10 +𝛽𝛿ȁ ۧ11
量子ビット操作
(物理的に存在する)量子ビットに対して物理的に実現可能な操作をいくつか用意する
量子ビットを行列(1次元なのでベクトルでもある)と見たとき、
この操作はユニタリ行列として表現できる
2量子ビットに対するCNOTゲート
量子ビットの数が増えるとそのぶん行列の次数が増えていき、記述が面倒だしわかりづらい
そのため、 ȁ ۧ00 といったDirc記法を使うことがおおい
1 0
0 1
0 0
0 0
0 0
0 0
0 1
1 0
量子コンピューター
量子ビットにゲート操作を行い、最終的に測定を行なって結果を取得
結果は波動関数により取得される。また、測定すると量子ビットの状態が変化する。
Qubitを操作する量子ゲートを多数用意しないといけない
◦ 制御できる量子ゲートを何個用意できるか
◦ ➔ あるところで従来のスパコンを超えることができるといわれている
◦ あわせてエラー制御などの仕組みも必要
超低温(10mK程度)下で量子ゲートを操作するのが現実的 (現時点では)
◦ この超低温を連続的に維持できるのが希釈冷凍機=Igniteで展示されていてやつ
理想的な量子コンピューターは、既存のコンピューターの完全上位互換になるはずだが
お互いの得意な部分を組み合わせて使うほうがより早く実用化しそう
トポロジカル量子コンピューター
Qubitや量子ゲートをどのような物質で実現するかは多数の方法が提唱されている
Microsoftが実現しようとしているのが「トポロジカル量子コンピューター」
超伝導物質中に存在するといわれるマヨラナフェルミオンを用い、
トポロジカルという数学の概念を導入して、
量子ビットとゲート操作を実装する
Q#のコードを書く上では、ここまでは知らなくてもいい。
➔ .NET が動くなら、実行されるOSがWindowsでもmacでもLinuxでも気にすることなく
C#を書けばいいよね。と似たイメージ
➔ Driverさえかけば、ほかの量子ゲートマシンでも動く可能性はある
量子コンピューターモデル
量子コンピューターモデル
エラー訂正処理(今回は説明割愛)や
論理量子ビットを物理量子ビットに対応など
Q#で表現する量子ビット(Qubit)がそのまま量子コンピューター上の
1量子ビットに対応するわけではない。
エラー訂正などのため複数物理量子ビットで1論理ビットを表す。
室温系と低温系の橋渡し
トポロジカル超伝導体の
デバイスを操作・測定する信号制御
Q#をはじめるにあたって
0か1の値の重ね合わせで表現されるQubitの集合を扱う
Qubitの配列への操作をQ#で記述する
◦ bit配列への操作をプログラミングしていくイメージ
◦ Q#のライブラリには複数の操作を組み合わせた抽象度の高い処理もあるけど、今回は触れ
ません
量子コンピューターの制約により、Q#でできない処理もある
◦ 任意のQubitの状態を作れるわけではない
◦ 0で初期化し、操作を加えることでほしい状態を生成する
◦ 測定するとQubitの状態が変わる (リセットされる)
◦ Qubitの状態を複製できない
Q#入門
Q#とは
量子コンピューティングのためのスケーラブルでマルチパラダイムでドメイン特化した言語
◦ 関数型と命令型のマルチパラダイム
文法的にはC#やJavaに似たような構造
◦ F#およびほかの関数型言語のキーワードも導入している
量子機械の上での操作を記述できる
◦ 抽象化の度合いや、シミュレーターから実機まで幅広く対象とする
◦ 数百Qubit程度の小さいマシンから百万Qubitオーダーまで対象とする (実機がまだ存在しないが)
デバッグやプロファイル、利用リソースの推定や特定の目的のためのシミュレーション実行など
幅広く対象としている
https://docs.microsoft.com/en-us/quantum/quantum-techniques-1-
qsharp_filestructure?view=qsharp-preview
Q#開発の準備
Visual StudioかVisual Studio CodeでQ#を動かしてみよう!
必要なもの
◦ .NET Core が動くOS
◦ 初期のQ#では新し目のCPUが必須だったが、今はOK
◦ Visual Studio or Visual Studio Code
◦ Q#開発キット
https://docs.microsoft.com/en-us/quantum/quantum-
installconfig?view=qsharp-preview&tabs=tabid-vs2017
はじめてのQ#プロジェクト
https://docs.microsoft.com/en-us/quantum/quantum-
writeaquantumprogram?view=qsharp-preview&tabs=tabid-vs2017
$ dotnet new console ¥
-lang Q# --output Bell
Q#プロジェクトの構造
すべてのファイルを表示
Q#プロジェクトの構造
すべてのファイルを表示
Q#ソースファイル (qs)
エントリポイント(Mainメソッド)を持つ
C#ソースファイル
Q#コンパイルコマンド結果
Q#ソースをC#にコンパイルした
中間ファイル(g.cs)
Q#コンパイルコマンド詳細
Q#ソースのコンパイル
qsファイル
g.csファイル
dll
Q#ソースのコンパイル
qsファイル
g.csファイル
dll
Q#開発キットでインストールされるバイナリを利用して
dotnet qsc.dll … でコンパイル
通常のC#プロジェクトとしてコンパイル
プロジェクトのビルドを明示的に行って
Q#をコンパイルしないと
C#コード側は変更を認識できない
Q#プロジェクト Internal
作成されたプロジェクトは普通のC#プロジェクトにQ#SDKが参照されているもの
◦ .NET Core 2.0 (netcoreapp2.0)
Q#のソースはC#(g.cs)にいったんコンパイルされる
◦ WPFとかSilverlightのXAMLやASP.NETのcshtmlと同じイメージ
◦ ただし、プロジェクトのビルド時にしかビルドされない (コード編集中に自動ビルドされない)
◦ NuGetで配られる microsoft.quantum.development.kit の中にビルド定義があり、
プロジェクトのビルド時にトリガーされる == .NET Core標準の仕組みを利用
Q#コードの支援機能はない
◦ C#(Roslyn)のような Intellisence はおろか、コードフォーマットもない。つらい。
というのを頭に入れておくと、Q#コード書くときに(C#との感覚の違いがわかって)便利かも
Q. うまくコンパイルできないのですが?
"QS0001 Internal error: Parsing produced an error node without logging an
error“
という実質役に立たないメッセージしかでないのですが!!!111
(他にも同様の役立たずメッセージあり)
A. 文法ミスがあるはずなので、がんばってコンパイルエラーを解消しましょう…
Feedbackに登録されている通り、文法エラーのメッセージが不親切極まりないです
あと、ドキュメントに書かれているサンプルが正しくないことがあります…
C#のようなコーディング支援もないので、いまのところは気合と根性でがんばりましょう
Q#の文法 - ファイル構造
以下、記載のコードはQ# documentから引用
および一部改変
https://docs.microsoft.com/en-us/quantum
Q#の文法 - ファイル構造
名前空間の定義
他の名前空間の参照 (C#のimport)
Operationの定義
Operationの引数
Operationの返り値の型
OperationとFunction
Operation: 量子操作。副作用を伴う。 Function: 量子操作を行わない数値計算
voidに相当
引数と返り値の型の実体はTuple
返り値の型が()の場合に
return文を記述する場合は
return ();
組み込み済みの型については後で
variantについては今日は省略
3種類の制御構文
◦ if…elif…else 文
◦ elseじゃなくてelif
◦ forループ
◦ C#のforeachに相当
◦ ループの変数を事前に定義する必要なし
◦ repeat-untilループ
◦ 今回は省略
◦ Do-while文で、条件判定に複数の文が
記述できるイメージ
◦ 「当たるまで引けば当たる」
repeat-until (RUS)
First-Class Valueとしての
OperationとFunction
OperationやFunctionそのものを引数や返り値にできる
◦ 関数ポインタあるいはAction<T>, Function<T>なイメージ
◦ 見た目はラムダ式っぽい
OperationやFunctionの部分適用
引数に _ を指定することで、部分適用された関数を定義でき、関数の返り値にもできる
ローカル変数(letとmutable)
letもしくはmutableで定義。letは変更不可、mutableは可能な変数に使う。
ローカル変数(letとmutable)
letもしくはmutableで定義。letは変更不可、mutableは可能な変数に使う。
C#のvarと同じく
右辺の型推論で
変数の型が決まる
配列をmutableで宣言すると要素もmutable
For文のindexは変数宣言不要
+=は使えない
ローカル変数(タプル)
任意のタプルに名前を付けて新しい型として定義できる
型モデル
Primitive
◦ Int 2, -107, 49 (64bit)
◦ Double 0.0, -43.2, 5e-7
◦ Bool true, false
◦ Pauli PauliI, PauliX, PauliY, PauliZ
◦ Result Zero, One (測定結果を表現)
◦ Range 1..10, 5..-2..1 (start..step..end なので 5,3,1)
◦ String “qsharp” (ログメッセージに利用)
◦ Qubit
Tuple (Int, (Qubit, Qubit))
配列 [1; 4], new Int[13]
Operation & Function型
ユーザー定義型 newtype Complex = (Double, Double);
C#でいう暗黙的な型変換はない。
Microsoft.Quantum.Extensions.Convert 以下
のFunctionを使って明示的に変換しないといけない
Qubitの割り当て
usingブロックを利用 (C#のusingと同じイメージ)
Qubitの割り当て
usingブロックを利用 (C#のusingと同じイメージ)
5個のQubitを |0> で初期化
➔ |00000>
この変数も事前の定義不要
usingを抜ける際にQubitは
リセットされないといけない。
測定もしくはリセットする
Qubitの操作
bool配列と初期化されたQubit配列を受け
取って、i番目の要素がtrueであればQubit
を|1>に変化させるOperation
Qubitの測定
Qubitの測定
ログとデバッグ
ログとデバッグ
メッセージを出力
デフォルトではコンソールに出力
生成された全量子ビットの状態を出力。
引数にファイル名指定。
空文字指定でコンソールに出力
処理の失敗
例外スローに似ている
string interpolationもOK
$”start {i}”
C#側のコード
現状シミュレーターのみが利用可能。
Q#のOperationがクラスとして参照できるので、Runで実行しTask<T>を取得する
もっとQ#
Q# をはじめてみよう(おさらい)
まずは Q# ドキュメントを読む
◦ 量子コンピューティング概念
◦ 量子コンピューター初めての人におすすめ
◦ インストール
◦ Q#開発基礎  今回の資料の大半はここ
◦ Q#標準ライブラリ
◦ 標準ライブラリに入っている操作の説明など。利用可能なゲートなども把握できる
◦ Q#プログラミング言語
Q#を実際に使ってみる
QuantumKatas: ハンズオンに使われたチュートリアル集
◦ https://github.com/Microsoft/QuantumKatas
SDKとexamplesのGitHubリポジトリ:
Q# Coding Contest:
◦ 7月に行われたQ#によるプログラミングコンテスト
◦ Warmup roundと本戦があり、解説公開ずみ
◦ こんなの来週やります@東京 ➔
うまくいかないときは
先ほど紹介したSlackなどに相談してみましょう
◦ stackoverflowやteratailでもあまり質問をみないので...
◦ Twitterでメンションしてもらえれば、Best Effortでがんばります
使い勝手が悪いとか、明確にバグとわかればフィードバックサイトへ
https://quantum.uservoice.com/
ドキュメントについてはコメントのみ可能
◦ 例: https://docs.microsoft.com/en-us/quantum/quantum-techniques-3-
localvariables?view=qsharp-preview
Q#の今後
年内にはfirst qubitが発表できる(らしい)
ローカルのシミュレーターで30Qubit程度
Azure シミュレーターで40Qibit程度が目標
5年以内に商用のためのアルゴリズムを動かせる
マシンを用意したい(らしい)
Empowering the quantum revolution with
Q# : Build 2018
https://www.youtube.com/watch?v=S_Z
GWmyPp7g
まとめ
Visual StudioかVisual Studio Codeが動く環境があれば、今すぐQ#をはじめられる
量子コンピューターの原理は物理学や数学を知らないといけないが、
Q#はそこまで知らなくともはじめられる
C#(やJava)に似た構造なので、比較的とっつきやすい(はず)
Quantum KatasやCoding Contestなど実際に解いて学ぶ環境も増えてきた
参考リンク
Microsoft Quantum
◦ 公式ページ: https://cloudblogs.microsoft.com/quantum/
◦ Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development-
kit
◦ 開発用ドキュメント: https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview
学習リソース
◦ SDKとサンプルのリポジトリ:
◦ Quantum Katas: https://github.com/Microsoft/QuantumKatas
◦ Q# Coding Contest (warm up)
◦ Q# Coding Contest
参考リンク
Q#の設計を学術的に知りたい人向け
◦ Q#: Enabling scalable quantum computing and development with a high-level domain-
specific language
https://www.microsoft.com/en-us/research/publication/q-enabling-scalable-quantum-
computing-and-development-with-a-high-level-domain-specific-language/
◦ Programming Quantum Computers Using Design Automation
https://www.microsoft.com/en-us/research/publication/programming-quantum-
computers-using-design-automation/
MRFの学術的背景を知りたい人向け
◦ https://www.nature.com/articles/nature11971
◦ http://case.edu/mrf/
◦ Magnetic resonance fingerprintingとその最新動向 :
http://www.innervision.co.jp/sp/ad/suite/siemens/technical_notes/1511techinfo
◦ 最新の高速撮像技術─fingerprinting─:
http://www.innervision.co.jp/ad/suite/siemens/technical_notes/160976

Mais conteúdo relacionado

Mais procurados

最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミングPreferred Networks
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925小川 雄太郎
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?Masanao Ochi
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについてmametter
 

Mais procurados (20)

最適化超入門
最適化超入門最適化超入門
最適化超入門
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミング
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについて
 

Semelhante a ゼロから始めるQ#

20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on LinuxTakayoshi Tanaka
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio CodeTakashi Okawa
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートAkira Inoue
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜日本マイクロソフト株式会社
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project TyeYuta Matsumura
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段Pierre3 小林
 
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfAzure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfYasuhiroHanda2
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析QlikPresalesJapan
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NETAkira Inoue
 
New Features in C# 10/11
New Features in C# 10/11New Features in C# 10/11
New Features in C# 10/11Akira Inoue
 
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Masaya Aoyama
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure KubernetesIssei Hiraoka
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 

Semelhante a ゼロから始めるQ# (20)

20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
Tekton 入門
Tekton 入門Tekton 入門
Tekton 入門
 
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfAzure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析
TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
New Features in C# 10/11
New Features in C# 10/11New Features in C# 10/11
New Features in C# 10/11
 
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure Kubernetes
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 

Mais de Takayoshi Tanaka

deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracingTakayoshi Tanaka
 
202202 open telemetry .net handson
202202 open telemetry .net handson202202 open telemetry .net handson
202202 open telemetry .net handsonTakayoshi Tanaka
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineersTakayoshi Tanaka
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapploggingTakayoshi Tanaka
 
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法Takayoshi Tanaka
 
20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NETTakayoshi Tanaka
 
New Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityNew Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityTakayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)Takayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンTakayoshi Tanaka
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能Takayoshi Tanaka
 
Try! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTry! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTakayoshi Tanaka
 
(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0Takayoshi Tanaka
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10Takayoshi Tanaka
 

Mais de Takayoshi Tanaka (20)

deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracing
 
202202 open telemetry .net handson
202202 open telemetry .net handson202202 open telemetry .net handson
202202 open telemetry .net handson
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapplogging
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
 
Unity(再)入門
Unity(再)入門Unity(再)入門
Unity(再)入門
 
最近のQ#について
最近のQ#について最近のQ#について
最近のQ#について
 
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
 
20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET
 
New Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityNew Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservability
 
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)
 
20190806 Q# Measurements
20190806 Q# Measurements20190806 Q# Measurements
20190806 Q# Measurements
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
 
Try! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTry! Visual Studio 209 git feature
Try! Visual Studio 209 git feature
 
Q#基礎 ver1.1
Q#基礎 ver1.1Q#基礎 ver1.1
Q#基礎 ver1.1
 
(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
 

Último

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

ゼロから始めるQ#