Soumettre la recherche
Mettre en ligne
時を超えた JavaScript の道
•
8 j'aime
•
12,712 vues
Teppei Sato
Suivre
at Shibuya.js beyond HTML5 (2010/07/30) http://atnd.org/events/6730
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 28
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
Metaspace
Metaspace
Yasumasa Suenaga
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
Recommandé
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
Metaspace
Metaspace
Yasumasa Suenaga
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
Google Cloud Platform - Japan
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Kumano Ryo
Effective JavaScript Ch.1
Effective JavaScript Ch.1
Teppei Sato
初学者にJavaScriptを教えてみた
初学者にJavaScriptを教えてみた
彰 村地
Contenu connexe
Tendances
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
Google Cloud Platform - Japan
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Kumano Ryo
Tendances
(20)
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
暗号技術の実装と数学
暗号技術の実装と数学
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
En vedette
Effective JavaScript Ch.1
Effective JavaScript Ch.1
Teppei Sato
初学者にJavaScriptを教えてみた
初学者にJavaScriptを教えてみた
彰 村地
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
Yutaka Tajika
関数型プログラミング in javascript
関数型プログラミング in javascript
Ryuma Tsukano
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
Teppei Sato
OnsenUI + AngularJS + CloudEndpointsで作るSPA 地雷処理の巻
OnsenUI + AngularJS + CloudEndpointsで作るSPA 地雷処理の巻
Hiroshi Furuyama
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
Browser oh browser browser
Browser oh browser browser
Teppei Sato
templateとautoの型推論
templateとautoの型推論
MITSUNARI Shigeo
Emcpp item31
Emcpp item31
mitsutaka_takeda
Emcpp item41
Emcpp item41
mitsutaka_takeda
Emcpp0506
Emcpp0506
Takatoshi Kondo
Effective Modern C++勉強会#4 Item 17, 18資料
Effective Modern C++勉強会#4 Item 17, 18資料
Ryo Igarashi
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
Effective modern c++ 5
Effective modern c++ 5
uchan_nos
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
Teppei Sato
サイボウズの現在と未来
サイボウズの現在と未来
Teppei Sato
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Teppei Sato
En vedette
(20)
Effective JavaScript Ch.1
Effective JavaScript Ch.1
初学者にJavaScriptを教えてみた
初学者にJavaScriptを教えてみた
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
関数型プログラミング in javascript
関数型プログラミング in javascript
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
OnsenUI + AngularJS + CloudEndpointsで作るSPA 地雷処理の巻
OnsenUI + AngularJS + CloudEndpointsで作るSPA 地雷処理の巻
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Browser oh browser browser
Browser oh browser browser
templateとautoの型推論
templateとautoの型推論
Emcpp item31
Emcpp item31
Emcpp item41
Emcpp item41
Emcpp0506
Emcpp0506
Effective Modern C++勉強会#4 Item 17, 18資料
Effective Modern C++勉強会#4 Item 17, 18資料
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Effective modern c++ 5
Effective modern c++ 5
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
サイボウズの現在と未来
サイボウズの現在と未来
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Similaire à 時を超えた JavaScript の道
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
Atsushi Kambara
サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか
サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか
Haruyuki Nakano
サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか
サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか
Haruyuki Nakano
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
20181030 DBSCシンポジウム 情報システムと時間の表現
20181030 DBSCシンポジウム 情報システムと時間の表現
UEHARA, Tetsutaro
サマータイムとうるう秒と2038年問題
サマータイムとうるう秒と2038年問題
UEHARA, Tetsutaro
Similaire à 時を超えた JavaScript の道
(6)
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか
サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか
サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか
サマータイム導入?【開発者編】 - その時 Notes/Domino は正確な時を刻むのか
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
20181030 DBSCシンポジウム 情報システムと時間の表現
20181030 DBSCシンポジウム 情報システムと時間の表現
サマータイムとうるう秒と2038年問題
サマータイムとうるう秒と2038年問題
Plus de Teppei Sato
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
Recent compat-table issues
Recent compat-table issues
Teppei Sato
kintoneがAWSで目指すDevOpsQAな開発
kintoneがAWSで目指すDevOpsQAな開発
Teppei Sato
Automated Dependency Updates with Renovate
Automated Dependency Updates with Renovate
Teppei Sato
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
サイボウズの開発を支えるKAIZEN文化
サイボウズの開発を支えるKAIZEN文化
Teppei Sato
SPAと覚悟
SPAと覚悟
Teppei Sato
You Don't Know ES Modules
You Don't Know ES Modules
Teppei Sato
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
ES6 in Practice
ES6 in Practice
Teppei Sato
Our wish to Flowtype
Our wish to Flowtype
Teppei Sato
Effective ES6
Effective ES6
Teppei Sato
Flowtype Introduction
Flowtype Introduction
Teppei Sato
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
DockerがYAVAY!
DockerがYAVAY!
Teppei Sato
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
Plus de Teppei Sato
(18)
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Recent compat-table issues
Recent compat-table issues
kintoneがAWSで目指すDevOpsQAな開発
kintoneがAWSで目指すDevOpsQAな開発
Automated Dependency Updates with Renovate
Automated Dependency Updates with Renovate
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
サイボウズの開発を支えるKAIZEN文化
サイボウズの開発を支えるKAIZEN文化
SPAと覚悟
SPAと覚悟
You Don't Know ES Modules
You Don't Know ES Modules
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
ES6 in Practice
ES6 in Practice
Our wish to Flowtype
Our wish to Flowtype
Effective ES6
Effective ES6
Flowtype Introduction
Flowtype Introduction
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
DockerがYAVAY!
DockerがYAVAY!
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Dernier
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
Dernier
(9)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
時を超えた JavaScript の道
1.
時を超えた JavaScript の道
@teppeis Shibuya.js beyond HTML5 2010/07/30
2.
自己紹介
3.
経緯 席が向かえの amachang と机の下で足があたっ たりして
キャッキャウフフ ヾ(*´∀`*)ノ するリア充生活 を送っていたら、いつのまにか LT することになっ ていました。 お手柔らかにおねがいします!
4.
さて、国際化が叫ばれる昨今 社内公用語の英語化が話題です。
5.
ちょっと待って! 国際化といえば、 タイムゾーンを忘れてませんか? ということで、 JavaScript のタイムゾーンの話をします。
6.
とりあえずデモ 画面上の時刻表示を変換する
Chrome 拡張 ATND の microformats を読み取って、 PST(太平洋標準時)に変換します。
7.
音響カプラと
3Dと 顔文字アセンブラ のあとに この地味なデモ。
8.
Warning
こっから 地味な話が続きます。 眠たい人は 今がチャンスです。
9.
Date Object in
JavaScript new Date() はローカルタイムを生成 ローカルタイムとUTCのみを扱える ローカルタイムのタイムゾーンはOS設定 夏時間の計算方法は環境依存
10.
え。ということは? UTCやOS設定以外のタイムゾーンを扱うことが できない
環境によって日時表示や日時計算がずれる場合 がある
11.
いろんなTZを扱いたいケース 例)JST を
PST に変換したい 例)カレンダーに旅行の予定を登録するUI 帰りの飛行機は現地時刻(PST)で14:00 「時差何時間だっけ。。」 「この時期ってサマータイム?」 「OSの設定変えたくないよ><」 JavaScript Date では解決できない!
12.
環境によって日時がずれるケース // OSのタイムゾーンをPST(太平洋標準時)に設定して // 2006年4月2日
午前1時 (PST) のタイムスタンプをチェック var dt = new Date(2006,3,2,1,0,0,0); if (1143968400000 === dt.getTime()) { alert( "OK" ); } else { alert( "NG" ); }
13.
結果
Firefox Chrome Safari Opera IE Windows NG NG NG NG NG Mac OK OK NG NG - Linux OK OK - NG - iPhone - - NG NG - Android - OK - - -
14.
なんでズレたの? PDT(太平洋夏時間)の期間が 2006年から2007年にかけて変更されたから 夏時間の期間が約1ヶ月後ろにずれた 2006-04-02
01:00:00 は歴史的には夏時間 ただし、新ルールで計算し直すと標準時
15.
夏時間の対応レベル Lv.1 ルールベース
毎年同じ夏時間ルールを適用 例)毎年3月第2日曜午前2時から夏時間 Windows Lv.2 ヒストリカルデータ 過去の時差情報を利用して時差計算 いわゆる zoneinfo, tz database. 世界の秩序は Olson さんがローカルで管理してる! Linux, Java, Python, Ruby...
16.
ブラジルにルールなんてない! ブラジルは夏時間期間を毎年都度発表 ネパールは +5:45(1986年までは +5:40)
17.
ECMAScript ではどうなってるの? 15.9.1.8
Daylight Saving Time Adjustment ECMAScriptの実装としては、同じルールを毎 年適用する。 でもホスト環境が年ごとの夏時間情報を提供 する場合は、それを利用してもいいよ。 つまり、環境と実装に依存
18.
ということで、 OSに依存せずタイムゾーンを選択 OSに依存せず時差計算
ヒストリカルデータ対応 こんなことをやりたいな。
19.
アプリ開発言語としての JS Webサイトのクライアント側、じゃなくて
HTML5 = オフラインアプリケーション サーバーアクセス無しで動きたい ECMAScript の Date では不十分 ActionScript はどうしてるんだろう
20.
あった。 Google Closure
Library
21.
あれ?肝心のデータが。 URLが。。
22.
データ生成する
せっかくなので Rhino 使ってみた タイムゾーンデータは Joda Time(手抜き) JSONフォーマットに変換 tzdata['America/LosAngeles'] = { 'transitions': [ // 遷移時刻タイムスタンプ(時間)と標準からの時差(分)の配列 2770, 60, 7137, 0, 11506, 60, 16041, 0, ... 580186, 60, 585897, 0, 588922, 60, 594633, 0 ], // 標準時の短縮名、正式名、夏時間の短縮名、正式名 'names': ['PST', 'Pacific Standard Time', 'PDT', 'Pacific Daylight Time'], 'id': 'America/Los_Angeles', // ID 'std_offset': -480 // 標準時差 };
23.
生成したタイムゾーンデータ 1970年 - 2038年 全558地域 358
KB Webアプリならアプリケーションキャッシュを使う か、ファイルを分割して遅延ローディングが良さそ う。
24.
あれ? goog.i18n.TimeZone には localToUTC
なメソッ ドがない goog.date.DateTime にもない。 タイムゾーンの変換ができない。片手落ち。 ので、いくつかの API 追加実装。
25.
goog.i18n.TimeZone.prototype.getUTCMillisFromLocal = function(
opt_year, opt_month, opt_date, opt_hours, opt_minutes, opt_seconds, opt_milliseconds) { ... var localMillis = Date.UTC( opt_year, opt_month, opt_date, opt_hours, opt_minutes, opt_seconds, opt_milliseconds); var localDate = new Date(localMillis); var localOffset = this.getOffset(localDate) * 60 * 1000; var adjustedDate = new Date(localMillis + localOffset); var adjustedOffset = this.getOffset(adjustedDate) * 60 * 1000; if ( localOffset > adjustedOffset ) { var localNext = this.nextTransitions(localMillis + localOffset); var adjustedNext = this.nextTransitions(localMillis + adjustedOffset); if ( localNext !== adjustedNext ) { return localMillis + localOffset; } } return localMillis + adjustedOffset; };
26.
ようやくデモ デモ
画面上の時刻表示を変換する Chrome 拡張 ATND の microformats を読み取って、 PST(太平洋標準時)に変換します。
27.
まとめ JS でマルチタイムゾーンを扱うには自前で実装する必要 があるよ。 標準でなんとかならないかなぁ。 Google Closure
使うんじゃなかった。。 HTML5 ってなんだっけ。
28.
以上です。 ありがとうございました!
Télécharger maintenant