SlideShare une entreprise Scribd logo
1  sur  11
知られざるサンゼロミニッツの裏側 株式会社サンゼロミニッツ 代表取締役 CTO  野々村範之 http://twitter.com/nonomura http://www.facebook.com/nonomura
はじめに ,[object Object],[object Object],[object Object],[object Object],[object Object],私が 30min. 社長谷郷です。 http://tanigo.jugem.cc/
30min. のシステム構成 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ブログ記事解析技術 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
増大する負荷との戦い ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model による仮想カラム詳細  (1) config/database.yml production2: adapter: postgresql database:  データベース名 username: DB ユーザー名 password:  パスワード host:  ここに通常の production と違う DB サーバーを指定 encoding: UTF8 別サーバーに切り出すテーブル app/models/description.rb class Description  < Production2 end
Model による仮想カラム詳細  (2) 今までのテーブルのカラムを別サーバーから読むようにする after_save :procsss def description=(description) @description = description end def description if @description.blank? description_obj = Description.find_by_item_id(self.id) return description_obj ? description_obj.description : “” else return @description end end private def process unless @description.blank? description_obj = Description.new( “ item_id” => self.id, “ description” => @description ) description.save() end end
iPhone と Android ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby による Push Notification Services (1) ,[object Object],キーチェーンアクセスからプッシュ用の証明書と秘密鍵の  p12  ファイルを書き出す 証明書を  apns_cert.p12  、秘密鍵を apns_key.p12  とすると openssl pkcs12 -clcerts -nokeys -out apns_cert.pem -in apns_cert.p12 openssl pkcs12 -nocerts -out apns_key.pem -in apns_key.p12 キーファイルからパスフレーズを削除 openssl rsa -in apns_key.pem -out apns_key.pem
Ruby による Push Notification Services (2) device_token = [“ ここに 64 バイトの device token が入る” ].pack(‘H*’) message = ‘{ “ aps” : { “alert” : “30min. タウンニュース  今週末のおでかけ情報を 30min. おでかけアプリの「★ NEWS!! 」でチェックしよう”  } }’ notification_packet = [ 0, 0, 32, device_token, 0, message.size, message ].pack(“ccca*cca*”) context = OpenSSL::SSL::SSLContext.new() context.cert = OpenSSL::X509::Certificate.new(File.read(“apns_cert.pem”)) context.key = OpenSSL::PKey::RSA.new(File.read(“apns_key.pem”)) socket = TCPSocket.new(host_name, 2195) ssl = OpenSSL::SSL::SSLSocket.new(socket, context) ssl.connect ssl.write(notification_packet) ssl.close socket.close
最後に ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Rancher LT Talk 20170126
Rancher LT Talk 20170126Rancher LT Talk 20170126
Rancher LT Talk 20170126Tetsurou Yano
 
Nagios大好きさんが喋るzabbixとAWS連携の話
Nagios大好きさんが喋るzabbixとAWS連携の話Nagios大好きさんが喋るzabbixとAWS連携の話
Nagios大好きさんが喋るzabbixとAWS連携の話Takayuki Saito
 
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723Takaki Kawamura
 
Metamaskでアカウントを作って、nftを投げ合おう
Metamaskでアカウントを作って、nftを投げ合おうMetamaskでアカウントを作って、nftを投げ合おう
Metamaskでアカウントを作って、nftを投げ合おうhide ogawa
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group CommitTakanori Sejima
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroYosuke Shindo
 
Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Takafumi Yoshida
 
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)Tetsurou Yano
 
すごいログ解析の話
すごいログ解析の話すごいログ解析の話
すごいログ解析の話Satoshi Hirata
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) Seiichiro Ishida
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaYoshihiro Iwanaga
 
Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Honma Masashi
 
俺のサバフェスをクイズ方式で伝えたい
俺のサバフェスをクイズ方式で伝えたい俺のサバフェスをクイズ方式で伝えたい
俺のサバフェスをクイズ方式で伝えたいTakayuki Saito
 
GitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registryGitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registryTetsurou Yano
 
ずーるらんなー
ずーるらんなーずーるらんなー
ずーるらんなーRyoma Sasaki
 
RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話Satoshi Hirata
 
ownCloudについて
ownCloudについてownCloudについて
ownCloudについてShinya Saita
 

Tendances (20)

Rancher LT Talk 20170126
Rancher LT Talk 20170126Rancher LT Talk 20170126
Rancher LT Talk 20170126
 
Nagios大好きさんが喋るzabbixとAWS連携の話
Nagios大好きさんが喋るzabbixとAWS連携の話Nagios大好きさんが喋るzabbixとAWS連携の話
Nagios大好きさんが喋るzabbixとAWS連携の話
 
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723
 
Metamaskでアカウントを作って、nftを投げ合おう
Metamaskでアカウントを作って、nftを投げ合おうMetamaskでアカウントを作って、nftを投げ合おう
Metamaskでアカウントを作って、nftを投げ合おう
 
Introduction of Rhodes
Introduction of RhodesIntroduction of Rhodes
Introduction of Rhodes
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
 
Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門
 
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
 
Packerで自動化
Packerで自動化Packerで自動化
Packerで自動化
 
すごいログ解析の話
すごいログ解析の話すごいログ解析の話
すごいログ解析の話
 
Azure Bastion の紹介
Azure Bastion の紹介Azure Bastion の紹介
Azure Bastion の紹介
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 
Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成
 
俺のサバフェスをクイズ方式で伝えたい
俺のサバフェスをクイズ方式で伝えたい俺のサバフェスをクイズ方式で伝えたい
俺のサバフェスをクイズ方式で伝えたい
 
GitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registryGitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registry
 
ずーるらんなー
ずーるらんなーずーるらんなー
ずーるらんなー
 
RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話
 
ownCloudについて
ownCloudについてownCloudについて
ownCloudについて
 

En vedette

箱根駅伝を10倍本気で楽しむ方法 - 2015
箱根駅伝を10倍本気で楽しむ方法 - 2015箱根駅伝を10倍本気で楽しむ方法 - 2015
箱根駅伝を10倍本気で楽しむ方法 - 2015Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法 - 2016 -
箱根駅伝を10倍楽しく観る方法 - 2016 -箱根駅伝を10倍楽しく観る方法 - 2016 -
箱根駅伝を10倍楽しく観る方法 - 2016 -Noriyuki Nonomura
 
Heat on Wed.(ヒートオンウェンズディ)! Vol.1
Heat on Wed.(ヒートオンウェンズディ)! Vol.1Heat on Wed.(ヒートオンウェンズディ)! Vol.1
Heat on Wed.(ヒートオンウェンズディ)! Vol.1Noriyuki Nonomura
 
Lect08
Lect08Lect08
Lect08Gina
 
これを読めば箱根駅伝が楽しくなる!
これを読めば箱根駅伝が楽しくなる!これを読めば箱根駅伝が楽しくなる!
これを読めば箱根駅伝が楽しくなる!Noriyuki Nonomura
 
Fas drs power_point_2003
Fas drs power_point_2003Fas drs power_point_2003
Fas drs power_point_2003shallongammon
 
Inside Branding
Inside BrandingInside Branding
Inside Brandingcsiregar
 
Web Page Classification
Web Page ClassificationWeb Page Classification
Web Page ClassificationPacharaStudio
 
Genaker RCS Seminar @ GSMA MWC 2010
Genaker RCS Seminar @ GSMA MWC 2010Genaker RCS Seminar @ GSMA MWC 2010
Genaker RCS Seminar @ GSMA MWC 2010Marcelo Manta
 
Webpage Classification
Webpage ClassificationWebpage Classification
Webpage ClassificationPacharaStudio
 
t2g Calgary Chamber of Commerce Reference
t2g Calgary Chamber of Commerce Referencet2g Calgary Chamber of Commerce Reference
t2g Calgary Chamber of Commerce ReferenceJerrod Henoch
 
Corinne Smith Resume - October 2016
Corinne Smith Resume - October 2016Corinne Smith Resume - October 2016
Corinne Smith Resume - October 2016Corinne Smith
 

En vedette (17)

箱根駅伝を10倍本気で楽しむ方法 - 2015
箱根駅伝を10倍本気で楽しむ方法 - 2015箱根駅伝を10倍本気で楽しむ方法 - 2015
箱根駅伝を10倍本気で楽しむ方法 - 2015
 
SME 4 Dic 09
SME 4 Dic 09SME 4 Dic 09
SME 4 Dic 09
 
箱根駅伝を10倍楽しく観る方法 - 2016 -
箱根駅伝を10倍楽しく観る方法 - 2016 -箱根駅伝を10倍楽しく観る方法 - 2016 -
箱根駅伝を10倍楽しく観る方法 - 2016 -
 
Heat on Wed.(ヒートオンウェンズディ)! Vol.1
Heat on Wed.(ヒートオンウェンズディ)! Vol.1Heat on Wed.(ヒートオンウェンズディ)! Vol.1
Heat on Wed.(ヒートオンウェンズディ)! Vol.1
 
Lect08
Lect08Lect08
Lect08
 
これを読めば箱根駅伝が楽しくなる!
これを読めば箱根駅伝が楽しくなる!これを読めば箱根駅伝が楽しくなる!
これを読めば箱根駅伝が楽しくなる!
 
Fas drs power_point_2003
Fas drs power_point_2003Fas drs power_point_2003
Fas drs power_point_2003
 
Inside Branding
Inside BrandingInside Branding
Inside Branding
 
Web Page Classification
Web Page ClassificationWeb Page Classification
Web Page Classification
 
Genaker RCS Seminar @ GSMA MWC 2010
Genaker RCS Seminar @ GSMA MWC 2010Genaker RCS Seminar @ GSMA MWC 2010
Genaker RCS Seminar @ GSMA MWC 2010
 
Webpage Classification
Webpage ClassificationWebpage Classification
Webpage Classification
 
Company law mcq
Company law mcqCompany law mcq
Company law mcq
 
Updated Resume
Updated ResumeUpdated Resume
Updated Resume
 
Las tic
Las ticLas tic
Las tic
 
t2g Calgary Chamber of Commerce Reference
t2g Calgary Chamber of Commerce Referencet2g Calgary Chamber of Commerce Reference
t2g Calgary Chamber of Commerce Reference
 
Rio sar
Rio sarRio sar
Rio sar
 
Corinne Smith Resume - October 2016
Corinne Smith Resume - October 2016Corinne Smith Resume - October 2016
Corinne Smith Resume - October 2016
 

Similaire à pgCafeMitaka20090723

ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備Takeshi Arabiki
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreCLOUDIAN KK
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summaryYukio NAGAO
 
App011 linuxのpaa sがついに登場!_azur
App011 linuxのpaa sがついに登場!_azurApp011 linuxのpaa sがついに登場!_azur
App011 linuxのpaa sがついに登場!_azurTech Summit 2016
 
App011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureApp011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureTech Summit 2016
 
App011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureApp011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureTech Summit 2016
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMFAtomu Hidaka
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!泰史 栃折
 
Prd008 日本初!“windows 10_team”_os_
Prd008 日本初!“windows 10_team”_os_Prd008 日本初!“windows 10_team”_os_
Prd008 日本初!“windows 10_team”_os_Tech Summit 2016
 
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組みRecruit Technologies
 

Similaire à pgCafeMitaka20090723 (20)

コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 
App011 linuxのpaa sがついに登場!_azur
App011 linuxのpaa sがついに登場!_azurApp011 linuxのpaa sがついに登場!_azur
App011 linuxのpaa sがついに登場!_azur
 
App011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureApp011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azure
 
App011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azureApp011 linuxのpaa sがついに登場!_azure
App011 linuxのpaa sがついに登場!_azure
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
 
BBBBB
BBBBBBBBBB
BBBBB
 
1MB
1MB1MB
1MB
 
[Japan Tech summit 2017] CLD 005
[Japan Tech summit 2017]  CLD 005[Japan Tech summit 2017]  CLD 005
[Japan Tech summit 2017] CLD 005
 
AppFormix勉強会資料
AppFormix勉強会資料AppFormix勉強会資料
AppFormix勉強会資料
 
Prd008 日本初!“windows 10_team”_os_
Prd008 日本初!“windows 10_team”_os_Prd008 日本初!“windows 10_team”_os_
Prd008 日本初!“windows 10_team”_os_
 
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
 

Plus de Noriyuki Nonomura

箱根駅伝を10倍楽しく観る方法 - 2021 -
箱根駅伝を10倍楽しく観る方法 - 2021 -箱根駅伝を10倍楽しく観る方法 - 2021 -
箱根駅伝を10倍楽しく観る方法 - 2021 -Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法 - 2020 -
箱根駅伝を10倍楽しく観る方法 - 2020 -箱根駅伝を10倍楽しく観る方法 - 2020 -
箱根駅伝を10倍楽しく観る方法 - 2020 -Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法 - 2019 -
箱根駅伝を10倍楽しく観る方法 - 2019 -箱根駅伝を10倍楽しく観る方法 - 2019 -
箱根駅伝を10倍楽しく観る方法 - 2019 -Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法 - 2018 -
箱根駅伝を10倍楽しく観る方法 - 2018 -箱根駅伝を10倍楽しく観る方法 - 2018 -
箱根駅伝を10倍楽しく観る方法 - 2018 -Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法 -2017-
箱根駅伝を10倍楽しく観る方法 -2017-箱根駅伝を10倍楽しく観る方法 -2017-
箱根駅伝を10倍楽しく観る方法 -2017-Noriyuki Nonomura
 
箱根駅伝を10倍楽しく観る方法
箱根駅伝を10倍楽しく観る方法箱根駅伝を10倍楽しく観る方法
箱根駅伝を10倍楽しく観る方法Noriyuki Nonomura
 

Plus de Noriyuki Nonomura (7)

箱根駅伝を10倍楽しく観る方法 - 2021 -
箱根駅伝を10倍楽しく観る方法 - 2021 -箱根駅伝を10倍楽しく観る方法 - 2021 -
箱根駅伝を10倍楽しく観る方法 - 2021 -
 
箱根駅伝を10倍楽しく観る方法 - 2020 -
箱根駅伝を10倍楽しく観る方法 - 2020 -箱根駅伝を10倍楽しく観る方法 - 2020 -
箱根駅伝を10倍楽しく観る方法 - 2020 -
 
箱根駅伝を10倍楽しく観る方法 - 2019 -
箱根駅伝を10倍楽しく観る方法 - 2019 -箱根駅伝を10倍楽しく観る方法 - 2019 -
箱根駅伝を10倍楽しく観る方法 - 2019 -
 
箱根駅伝を10倍楽しく観る方法 - 2018 -
箱根駅伝を10倍楽しく観る方法 - 2018 -箱根駅伝を10倍楽しく観る方法 - 2018 -
箱根駅伝を10倍楽しく観る方法 - 2018 -
 
箱根駅伝を10倍楽しく観る方法 -2017-
箱根駅伝を10倍楽しく観る方法 -2017-箱根駅伝を10倍楽しく観る方法 -2017-
箱根駅伝を10倍楽しく観る方法 -2017-
 
箱根駅伝を10倍楽しく観る方法
箱根駅伝を10倍楽しく観る方法箱根駅伝を10倍楽しく観る方法
箱根駅伝を10倍楽しく観る方法
 
周辺環境スカウター
周辺環境スカウター周辺環境スカウター
周辺環境スカウター
 

pgCafeMitaka20090723

  • 1. 知られざるサンゼロミニッツの裏側 株式会社サンゼロミニッツ 代表取締役 CTO 野々村範之 http://twitter.com/nonomura http://www.facebook.com/nonomura
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Model による仮想カラム詳細 (1) config/database.yml production2: adapter: postgresql database: データベース名 username: DB ユーザー名 password: パスワード host: ここに通常の production と違う DB サーバーを指定 encoding: UTF8 別サーバーに切り出すテーブル app/models/description.rb class Description < Production2 end
  • 7. Model による仮想カラム詳細 (2) 今までのテーブルのカラムを別サーバーから読むようにする after_save :procsss def description=(description) @description = description end def description if @description.blank? description_obj = Description.find_by_item_id(self.id) return description_obj ? description_obj.description : “” else return @description end end private def process unless @description.blank? description_obj = Description.new( “ item_id” => self.id, “ description” => @description ) description.save() end end
  • 8.
  • 9.
  • 10. Ruby による Push Notification Services (2) device_token = [“ ここに 64 バイトの device token が入る” ].pack(‘H*’) message = ‘{ “ aps” : { “alert” : “30min. タウンニュース 今週末のおでかけ情報を 30min. おでかけアプリの「★ NEWS!! 」でチェックしよう” } }’ notification_packet = [ 0, 0, 32, device_token, 0, message.size, message ].pack(“ccca*cca*”) context = OpenSSL::SSL::SSLContext.new() context.cert = OpenSSL::X509::Certificate.new(File.read(“apns_cert.pem”)) context.key = OpenSSL::PKey::RSA.new(File.read(“apns_key.pem”)) socket = TCPSocket.new(host_name, 2195) ssl = OpenSSL::SSL::SSLSocket.new(socket, context) ssl.connect ssl.write(notification_packet) ssl.close socket.close
  • 11.