Submit Search
Upload
【19-A-1】名誉職としてのCTOのあり方
•
29 likes
•
9,307 views
Developers Summit
Follow
【19-A-1】名誉職としてのCTOのあり方
Read less
Read more
Technology
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
もしも私がカドカワの川上量生CEOならどのようにして会社を成長させるか? -ニコニコ動画を持つ企業の経営戦略-
もしも私がカドカワの川上量生CEOならどのようにして会社を成長させるか? -ニコニコ動画を持つ企業の経営戦略-
Takashi Okada
ロボコンの為のFusion360講座 #CAD編
ロボコンの為のFusion360講座 #CAD編
電大 ヒュー研
「誰でも始められるカンタンFireMonkey 3D入門」
「誰でも始められるカンタンFireMonkey 3D入門」
Embarcadero Technologies
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
Madoka Chiyoda
3Dプリンタでロボット作るよ#2_始動編
3Dプリンタでロボット作るよ#2_始動編
Yoshihiro Shibata
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Go Sueyoshi (a.k.a sue445)
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
Drecom Co., Ltd.
FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化
dena_study
Recommended
もしも私がカドカワの川上量生CEOならどのようにして会社を成長させるか? -ニコニコ動画を持つ企業の経営戦略-
もしも私がカドカワの川上量生CEOならどのようにして会社を成長させるか? -ニコニコ動画を持つ企業の経営戦略-
Takashi Okada
ロボコンの為のFusion360講座 #CAD編
ロボコンの為のFusion360講座 #CAD編
電大 ヒュー研
「誰でも始められるカンタンFireMonkey 3D入門」
「誰でも始められるカンタンFireMonkey 3D入門」
Embarcadero Technologies
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
Madoka Chiyoda
3Dプリンタでロボット作るよ#2_始動編
3Dプリンタでロボット作るよ#2_始動編
Yoshihiro Shibata
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Go Sueyoshi (a.k.a sue445)
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
Drecom Co., Ltd.
FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化
dena_study
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
Kaoru NAKAMURA
3 d printer_ivent
3 d printer_ivent
HarumaAkimoto1
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
3Dプリンターブームから読み取る イノベーションの可能性
3Dプリンターブームから読み取る イノベーションの可能性
Shigeru Kobayashi
体験を創る - 1→10design,Inc. 坪倉輝明
体験を創る - 1→10design,Inc. 坪倉輝明
Teruaki Tsubokura
Why did I become a ruby committer
Why did I become a ruby committer
Masaya TARUI
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
asa88
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
fumoto kazuhiro
D3.jsと学ぶVisualization(可視化)の世界
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
Tomoaki Shimizu
Si2017 チームイエスマン 発表スライド
Si2017 チームイエスマン 発表スライド
Robotics Engineer
3Dプリンタことはじめ
3Dプリンタことはじめ
NISHIMOTO Keisuke
DXRubyとスプライトエディタ
DXRubyとスプライトエディタ
mieki256 blawat
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
Yukio Saito
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
Ryo Kurauchi
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
Developers Summit
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
Developers Summit
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
Developers Summit
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
More Related Content
Similar to 【19-A-1】名誉職としてのCTOのあり方
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
Kaoru NAKAMURA
3 d printer_ivent
3 d printer_ivent
HarumaAkimoto1
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
3Dプリンターブームから読み取る イノベーションの可能性
3Dプリンターブームから読み取る イノベーションの可能性
Shigeru Kobayashi
体験を創る - 1→10design,Inc. 坪倉輝明
体験を創る - 1→10design,Inc. 坪倉輝明
Teruaki Tsubokura
Why did I become a ruby committer
Why did I become a ruby committer
Masaya TARUI
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
asa88
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
fumoto kazuhiro
D3.jsと学ぶVisualization(可視化)の世界
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
Tomoaki Shimizu
Si2017 チームイエスマン 発表スライド
Si2017 チームイエスマン 発表スライド
Robotics Engineer
3Dプリンタことはじめ
3Dプリンタことはじめ
NISHIMOTO Keisuke
DXRubyとスプライトエディタ
DXRubyとスプライトエディタ
mieki256 blawat
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
Yukio Saito
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
Ryo Kurauchi
Similar to 【19-A-1】名誉職としてのCTOのあり方
(15)
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
3 d printer_ivent
3 d printer_ivent
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
3Dプリンターブームから読み取る イノベーションの可能性
3Dプリンターブームから読み取る イノベーションの可能性
体験を創る - 1→10design,Inc. 坪倉輝明
体験を創る - 1→10design,Inc. 坪倉輝明
Why did I become a ruby committer
Why did I become a ruby committer
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
D3.jsと学ぶVisualization(可視化)の世界
D3.jsと学ぶVisualization(可視化)の世界
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
Si2017 チームイエスマン 発表スライド
Si2017 チームイエスマン 発表スライド
3Dプリンタことはじめ
3Dプリンタことはじめ
DXRubyとスプライトエディタ
DXRubyとスプライトエディタ
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
More from Developers Summit
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
Developers Summit
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
Developers Summit
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
Developers Summit
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
Developers Summit
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
Developers Summit
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
Developers Summit
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
Developers Summit
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
Developers Summit
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例
Developers Summit
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
Developers Summit
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
Developers Summit
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介
Developers Summit
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
Developers Summit
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
Developers Summit
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
Developers Summit
More from Developers Summit
(20)
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
Recently uploaded
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(12)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
【19-A-1】名誉職としてのCTOのあり方
1.
ドワンゴCTOとしての仕事 株式会社ドワンゴ 代表取締役会長&CTO 川上量生 1
2.
自己紹介 • ドワンゴ代表取締役会長CTO • スタジオジブリ見習いプロデューサー •
スタジオカラー取締役 • KADOKAWA・DWANGO代表取締役会長 2 そもそもなぜ自己紹介が必要なの?
3.
象徴CTO制 • ドワンゴ社とドワンゴエンジニア統合の象徴 • 2011年ドワンゴ社内のエンジニアが大量離脱 •
絶対CTO制の崩壊 • 象徴CTO制へ移行 • 初代象徴CTOとして私が就任 3 創立以来の 危機!
4.
エンジニアとしてどうなの? • 中学生時代 BASIC+Z80。歴史学習ソフト。 • 大学生時代 MS-C。CADの開発。 •
社会人時代 雑誌で連載。勝手社内DB+LAN構築 • 起業後 ネットワーク会社に就職。ARPを知らずに 馬鹿にされる。 • 最後の開発プロダクトの話。 • CTO勉強会を開催。最近の状況を学習中。 4
5.
象徴CTOとしての初仕事 • 社内の雰囲気が暗かった。 → 女子マネ弁当 • 会社がわりと地味な場所にあった。 → 浜町明治座から銀座歌舞伎座へ •
インフラがボトルネックかつプログラマーが触れない → プログラマーをインフラエンジニアへコンバート • 開発言語がPHPしか使えない → なんらかの必然性があれば言語の選択の自由化 • 給料がG社やD社よりも安い → ”わりと”上げる。 5
6.
6 象徴CTOとしてエンジニアに指示した 最近の仕事の紹介 覚えていますか?2年前のデブサミ。 あるドワンゴエンジニアのプレゼン
7.
今日はニコニコ生放送をScalaで書き直している話
8.
そもそもなぜ書き直さねば ならなかったのか?
9.
2012年12月
10.
コードの技術的負債 • PHPのコード行数 300万行に対し •
コピー&ペースト数1万ヶ所 • 潜在的不具合数(PMD警告値)が4500ヶ所 • 循環的複雑度600超メソッドがいくつも 存在 • IDEサポートができない文字列のリフレ クションの多い、grep不能なPHPのコー ド
11.
循環的複雑度600超メソッドは 例えるなら終盤のジェンガ • 人類の英知を結集しても不具合を 入れずに不具合改修することが困 難なレベル • 今も解消されていない •
不具合修正をする数よりもそれに よって発現する不具合の方が多く なってしまうという、まさに負債 循環的複 雑度 複雑さの状態 バグ混入確率 10以下 非常に良い構造 25% 30以下 構造的なリスク あり 40% 50以下 テスト不可能 75% 75以上 いかなる変更も 誤修正を生む 98%
12.
12 昨年、このプレゼン内容を受けて、 ぼくが指示して作らせたレポートの ご紹介
13.
法律の循環的複雑度の定義 8/25報告 吉村&千野
14.
やったことサマリ • ソフトウェアの循環的複雑度の調査 – https://atl.dwango.co.jp/confluence/pages/viewpage.action?pageId=49453131 •
それをふまえて、法律向けのルールを仮で定義 – 定義 +0 – 判断(場合によって考慮が分岐するもの) +1 – 定義の中に判断 +1 – 判断の中での別な法律への参照 +2 – または(もしくは) +1 – かつ +1 – を除く +1 • 著作権法四十七条の十、商法十六条を分析 – 手続き型的発想で構造化 – 関数としてプログラミング • // JavaScriptベースのプログラミングで定義する • // ||(和) や &&(積) や -(差) は集合演算を行い定義された全状態をすべて返してくれる便利な演算子であるとする • 関数として書き直したものをチェックして複雑度出すツール作った • 今後の展開をブレスト
15.
商法 第十六条 原文 第十六条 営業を譲渡した商人(以下この章において「譲渡人」と いう。)は、当事者の別段の意思表示がない限り、同一の市町村(東 京都の特別区の存する区域及び地方自治法 (昭和二十二年法律第六十 七号)第二百五十二条の十九第一項
の指定都市にあっては、区。以下 同じ。)の区域内及びこれに隣接する市町村の区域内においては、そ の営業を譲渡した日から二十年間は、同一の営業を行ってはならない。 2. 譲渡人が同一の営業を行わない旨の特約をした場合には、その特 約は、その営業を譲渡した日から三十年の期間内に限り、その効 力を有する。 3. 前二項の規定にかかわらず、譲渡人は、不正の競争の目的をもっ て同一の営業を行ってはならない。 読みにくい!!!
16.
商法第十六条.js function 営業を譲渡した商人は同一の営業を行ってはならないかどうか( 当事者の別段の意思表示がない, 同一の市町村_東京都の特別区の存する区域及び地方自治法_昭和22年法律第67号_第252条の19第1項の指定都市にあっては_区_以下同じ__の区域内及びこれに隣接する市 町村の区域内, その営業を譲渡した日から20年間, 不正の競争の目的もっている) {
// 1 return 当事者の別段の意思表示がない && 同一の市町村_東京都の特別区の存する区域及び地方自治法_昭和22年法律第67号_第252条の19第1項の指定都市にあっては_区_以下同じ__の区域内及びこれに隣接 する市町村の区域内 // 3 && その営業を譲渡した日から20年間 // 4 && !譲渡人は_同一の営業を行ってはならない場合(不正の競争の目的もっている); // 6 } function 特約がその効力を有するかどうか( 同一の営業を行わない旨の特約をした場合, その営業を譲渡した日から30年の期間内に限り, 不正の競争の目的もっている) { // 1 return 同一の営業を行わない旨の特約をした場合 && その営業を譲渡した日から30年の期間内に限り // 2 && !譲渡人は_同一の営業を行ってはならない場合(不正の競争の目的もっている); // 4 } function 譲渡人は_同一の営業を行ってはならない場合(不正の競争の目的もっている){ // 1 return !不正の競争の目的もっている; } 読みやすい?のか? 複雑度 合計 11
17.
著作権法 第四十七条の十 原文 第四十七条の十 第三十一条第一項(第一号に係る部分に限る。以下この条において同じ。) 若しくは第三項後段、第三十二条、第三十三条第一項(同条第四項において準用する場合を含 む。)、第三十三条の二第一項若しくは第四項、第三十四条第一項、第三十五条第一項、第三十 六条第一項、第三十七条、第三十七条の二(第二号を除く。以下この条において同じ。)、第三 十九条第一項、第四十条第一項若しくは第二項、第四十一条から第四十二条の二まで、第四十二 条の三第二項又は第四十六条から第四十七条の二までの規定により複製することができる著作物 は、これらの規定の適用を受けて作成された複製物(第三十一条第一項若しくは第三項後段、第 三十五条第一項、第三十六条第一項又は第四十二条の規定に係る場合にあつては、映画の著作物 の複製物(映画の著作物において複製されている著作物にあつては、当該映画の著作物の複製物 を含む。以下この条において同じ。)を除く。)の譲渡により公衆に提供することができる。た だし、第三十一条第一項若しくは第三項後段、第三十三条の二第一項若しくは第四項、第三十五 条第一項、第三十七条第三項、第三十七条の二、第四十一条から第四十二条の二まで、第四十二 条の三第二項又は第四十七条の二の規定の適用を受けて作成された著作物の複製物(第三十一条 第一項若しくは第三項後段、第三十五条第一項又は第四十二条の規定に係る場合にあつては、映 画の著作物の複製物を除く。)を、第三十一条第一項若しくは第三項後段、第三十三条の二第一 項若しくは第四項、第三十五条第一項、第三十七条第三項、第三十七条の二、第四十一条から第 四十二条の二まで、第四十二条の三第二項又は第四十七条の二に定める目的以外の目的のために 公衆に譲渡する場合は、この限りでない。 フクザツ!!!!!!!!
18.
単純な構造化 第四十七条の十 { //1 {
// 1 第三十一条第一項(第一号に係る部分に限る。以下この条において同じ。)or 若しく は第三項後段、 第三十二条、 第三十三条第一項 or (同条第四項において準用する場合を含む。)、 第三十三条の二第一項 or 若しくは第四項、 第三十四条第一項、 第三十五条第一項、 第三十六条第一項、 第三十七条、 第三十七条の二 (第二号を除く。以下この条において同じ。)、 第三十九条第一項、 第四十条第一項 or 若しくは第二項、 第四十一条から第四十二条の二まで、 // あわせて3条 第四十二条の三第二項 又は第四十六条から第四十七条の二まで // あわせて3条 // 22 × 2 } の規定により複製することができる著作物は、 これらの規定の適用を受けて作成された複製物( { // 1 { // 1 第三十一条第一項 or 若しくは第三項後段、 第三十五条第一項、 第三十六条第一項 又は第四十二条 // 5 x 2 } の規定に係る場合にあつては、映画の著作物の複製物 { // 1 (映画の著作物において複製されている著作物にあつては、当該映画の 著作物の複製物を含む。以下この条において同じ。) } を除く。 } )の譲渡により公衆に提供することができる。 ただし、 { // 1 { // 1 第三十一条第一項 or 若しくは第三項後段、 第三十三条の二第一項 or 若しくは第四項、 第三十五条第一項、 第三十七条第三項、 第三十七条の二、 第四十一条から第四十二条の二まで、 // あわせて3条 第四十二条の三第二項 又は第四十七条の二 // 12 x 2 } の規定の適用を受けて作成された著作物の複製物( { // 1 第三十一条第一項 or 若しくは第三項後段、 第三十五条第一項 又は第四十二条 // 4 x 2 } の規定に係る場合にあつては、映画の著作物の複製物を除く。) を、 { // 1 第三十一条第一項 or 若しくは第三項後段、 第三十三条の二第一項 or 若しくは第四項、 第三十五条第一項、 第三十七条第三項、 第三十七条の二、 第四十一条から第四十二条の二まで、 // あわせて3条 第四十二条の三第二項 又は第四十七条の二 // 12 x 2 } に定める目的以外の目的のために公衆に譲渡する } 場合は、この限りでない。 } 複雑度 合計 118
19.
著作権法第四十七条の十.js function 複製することができる著作物は_譲渡により公衆に提供することができる(著作物) {
// cc=1 var 以下の規定により複製することができる著作物 = 第三十一条第一項_第一号に係る部分に限る_以下この条において同じ__ () || 第三項後段() || 第三十二条() || 第三十三条第一項_同条第四項において準用する場合を含む__() || 第三十三条の二第一項() || 第三十三条の二第四項() || 第三十四条第一項() || 第三十五条第一項() || 第三十六条第一項() || 第三十七条() || 第三十七条の二_第二号を除く_以下この条において同じ__ || // 除くという言葉が入ってるので余分に1 第三十九条第一項 || 第四十条第一項() || 第四十条第二項() || 第四十一条() || 第四十二条の一() || 第四十二条の二() || 第四十二条の三第二項() || 第四十六条() || 第四十七条の一() || 第四十七条の二() ; // cc=39 var これらの規定の適用を受けて作成された複製物 = 第三十一条第一項() || 第三十一条第三項後段() || 第三十五条第一項() || 第三十六条第一項() || 第四十二条() ; // cc=48 var 複製することができる著作物 = 以下の規定により複製することができる著作物 - これらの規定の適用を受けて作成された複製物; // cc=49 var 以下の規程を受けて作成された著作物の複製物である場合 = 第三十一条第一項() || 第三十一条第三項後段() || 第三十三条の二第一項() || 第三十三条の二第四項() || 第三十五条第一項() || 第三十七条第三項() || 第三十七条の二() || 第四十一条() || 第四十二条の一() || 第四十二条の二() || 第四十二条の三第二項() || 第四十七条の二() ; // cc=72 var 以下が適用される場合には映画の著作物の複製物 = 第三十一条第一項() || 第三十一条第三項後段() || 第三十五条第一項() || 第四十二条() ; // cc=79 var 以下で定める目的以外の目的のために公衆に譲渡する場合 = 第三十一条第一項() || 第三十一条第三項後段() || 第三十三条の二第一項() || 第三十三条の二第四項() || 第三十五条第一項() || 第三十七条第三項() || 第三十七条の二() || 第四十一条() || 第四十二条の一() || 第四十二条の二() || 第四十二条の三第二項() || 第四十七条の二() ; // cc=100 var この限りではない著作物 = (以下の規程を受けて作成された著作物の複製物である場合 - 以下が適用される場合には映画の著作物の複製物) // cc=101 && 以下で定める目的以外の目的のために公衆に譲渡する場合; // cc=102 return 複製することができる著作物.contains(著作物) && !この限りではない著作物.contains(著作物); // cc=103 } 複雑度 合計 103
20.
今後どうする案 • 擬似コード方面 – もういくつかの条文を擬似コード化しながら、コード文法確定、複雑度 算出方法ブラッシュアップ –
それにもとづき著作権法全部を擬似コード化 • 人手を投入? • 字句解析方面 – 形態素解析 「および」「また」「限る」などを単純カウントしてみる – 機械学習もトライ – 人手がいらない • 両面で比較してみる • 過去の修正履歴ごとに複雑度計測して上昇グラフをみる • 弁護士/学者のレビュー
21.
結論(仮説) • 年々、法律の複雑度はあがっている – 複雑度上昇と新法律の数は負の相関がある –
新法がつくれない – 複雑すぎて判例に依存してしまいがち • 複雑度が上がらないように保守すべき – 法律つくるときは擬似コードを一緒に書くべき or – 毎度測定して確認
22.
3年間CTOとして感じたこと • 現代はスクリプトエンジニアの時代 • コンピュータの動作原理を知らないエンジニア が増えている。 •
性能の理論的限界を計算できない。計測する。 • 開発手法において宗教依存度が高い。 • 自分の頭で考えるより、結果をググって覚えるだ けの文化がエンジニアの世界まで来ている。 22
23.
半導体業界の人から聴いた話 • 過去40年間におよぶスケーリングでなにが産み 出されたか • 3年おきに集積度が4倍。(ムーアの法則) 23 膨大な数の二流の回路設計エンジニア
24.
半導体業界で起こったこと • 努力しなくても新しい半導体工場で生産すれば勝手に性能 が向上する。 • 優れた回路設計により性能をチューニングするより新しい 工場でさっさと作ったほうがいい。 •
一流の回路設計エンジニアが活躍する機会がない。 • ムーアの法則が限界に近づき半導体の性能向上がなくなっ てきた現在は二流の回路設計エンジニアが食えなくなって きた。 24 これってどっかの業界の未来じゃね?
25.
ウェブ業界の現状 • サーバーの性能は毎年向上する。 • オープンソースの開発基盤が勝手に性能向上。 •
AWSにまかせておけば楽ちん 25 膨大な数の二流のウェブエンジニア?
26.
今後のドワンゴをどうするか • 自社専用ハードウェア • 自社専用データセンター •
自社専用シェアハウス • 10G専用線。野菜室兼用サーバールーム。 • ボードゲーム大会開催可能な共用リビング 26 技術の理論的限界でサービス設計する会社
27.
最後に 27 帰ってきたら nicocas(ニコキャス)よろしく!
Download now