SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Rubyist


                    (                   )
                    iRubySystems        @iR3
                at 2011.7.18 RubyKaigi LT


2011   7   19
@iR3          ↓ 2010.11.6 Ruby
                http://www.slideshare.net/FUKUIOsamu/20101106-ramaze

                                                         FA




                        eTax             XBRL


                               XBRL
                                  ....
                                                  XBRL

2011   7   19
• Rubyist

                Rubyist should study accounting. Take the leadership beyond worker.
                     •                      Ruby
                                                          IFRS
                                        XBRL GL
                     If you use Ruby on IFRS System for XBRL GL you will win!
                     • XBRL         nokogiri
                     The nokogiri is best tool for XBRL handling.
                                                           And my recursive method.




2011   7   19
2011   7   19
Account ,
                      ■
                11   July 16-18 2011


2011   7   19
You must stand up to




2011   7   19
A long time ago




                 Now



                IT
                                   Accounting




2011   7   19
2011   7   19
2011   7   19
2011   7   19
Balance sheet(B/S)   Profit and Loss statement(P/L)



                   :2011.3.31          :2010.4.1 2011.3.31




2011   7   19
Balance sheet(B/S)   Profit and Loss statement(P/L)




2011   7   19
2011   7   19
by   IFRS
                P/L   B/S



2011   7   19
IFRS




2011   7   19
IFRS
                XBRL eXtensible Business
                    Reporting Language
                                 XML


2011   7   19
2     XBRL

                • XBRL FR    XBRL GL

                • XBRL FR Financial Reporting



                • XBRL GL Global Ledger Framework
                    RECOMMENDATION


2011   7   19
XBRL FR GL
                        EDINET
                        TDnet
                FR      e-Tax




                              XBRL



                GL      XML




2011   7   19
XBRL GL

                XBRL GL




2011   7   19
XBRL GL




2011   7   19
XBRL
                XBRL      2


                 XML




2011   7   19
2011   7   19
2011   7   19
XML Schema
                Schema:
                XML Schema      XML
                <schema
                    xmlns:link="http://www.xbrl.org/2003/linkbase"
                    xmlns:xlink="http://www.w3.org/1999/xlink"
                    xmlns="http://www.w3.org/2001/XMLSchema"
                    xmlns:xbrli="http://www.xbrl.org/2003/instance"
                    xmlns:gl-plt="http://www.xbrl.org/int/gl/plt/2010-04-12"
                    elementFormDefault="qualified"
                    targetNamespace="http://www.xbrl.org/int/gl/plt/2010-04-12"
                    attributeFormDefault="unqualified">


                </schema>




2011   7   19
annotation:
                <annotation>
                  <appinfo>
                   <link:linkbaseRef
                         xlink:type="simple"
                         xlink:href="../../cor/lang/gl-cor-2010-04-12-label.xml"
                         xlink:title="Label Links, all"
                         xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
                         xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
                   <link:linkbaseRef
                         xlink:type="simple"
                         xlink:href="../../cor/lang/gl-cor-2010-04-12-label-ja.xml"
                         xlink:title="Label Links, ja"
                         xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
                         xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
                  </appinfo>
                 </annotation>


2011   7   19
XML
                XML                             nokogiri
                http://nokogiri.org/
                https://github.com/tenderlove/nokogiri

                  install sudo gem install nokogiri




2011   7   19
require 'rubygems'
                require 'nokogiri'

                @doc = Nokogiri::XML(open("http://www.xbrl.org/
                taxonomy/int/gl/2010-04-12/cor/lang/gl-
                cor-2010-04-12-label-ja.xml"))

                puts "@doc    class          : #{@doc.class}"
                puts "@doc           : #{@doc}"



2011   7   19
XPath

                nokogiri   XPath

                XML Path Language  XPath; XML
                http://ja.wikipedia.org/wiki/XML_Path_Language




2011   7   19
<?xml version="1.0" encoding="utf-8"?>
                <document> <!-- XML      -->
                 <chapter title=" 1   ">
                 <paragraph>     </paragraph>
                 <paragraph>           </paragraph>
                 <paragraph>                  </paragraph>
                 <paragraph>               </paragraph>
                 </chapter>
                 <chapter title=" 2   ">
                 <paragraph>     </paragraph>
                 </chapter>
                </document>

2011   7   19
XPath
                  /document :               document
                ■ /* :
                         document                XML


                ■ /document/chapter : document
                         chapter
                ■ /document/chapter[1] : document                       1
                         chapter
                ■ //paragraph :                   paragraph
                ■ //chapter[@title="   1   "]/paragraph : title         " 1   "
                         chapter                            paragraph




2011   7   19
nokogiri

                   Thank you
                  tenderlove !

2011   7   19
XML
                        http://d.hatena.ne.jp/iR3/20060428#1146221233


                #           DB
                def getchild( db, gr_id )
                 out = "" #
                 sql = "select gr_id,gr_name from grlist where sgr_id=#{gr_id}"
                 rows = db.query(sql) rows.each_with_index{ |row,i|
                   gr_id1 = row[0]
                    gr_name = row[1]
                    out << "<#{gr_name} data='#{gr_id}'>"
                    out << "rn"
                    if gr_id != gr_id1
                      out << getchild(db, gr_id1)
                    end
                    out << "</#{gr_name} >" out << "rn"
                 }
                 return
                 out
                end
2011   7   19
2011   7   19
• Rubyist

                Rubyist should study accounting. Take the leadership beyond worker.
                     •                       Ruby
                                                           IFRS
                                         XBRL GL
                     If you use Ruby on IFRS System for XBRL GL you will win!
                     • XBRL          nokogiri
                     The nokogiri is best tool for XBRL handling.
                                                           And my recursive method.




2011   7   19

Mais conteúdo relacionado

Semelhante a Rubyistに 不足しているのは会計(そろばん)!

Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyLingoHub
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial XmlLiquidHub
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS ApplicationsKeshav Murthy
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009Frank
 
A general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JA general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JFlorent Biville
 
Instrumentation with Splunk
Instrumentation with SplunkInstrumentation with Splunk
Instrumentation with SplunkDatavail
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataRoberto García
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 Masakuni Kato
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkBéla Varga
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xmlFelix Sasaki
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...Alex Zaballa
 
Ruby を利用した大規模ウェブサービスの開発・運用
Ruby を利用した大規模ウェブサービスの開発・運用Ruby を利用した大規模ウェブサービスの開発・運用
Ruby を利用した大規模ウェブサービスの開発・運用Yuichi Tateno
 
Utilized JAXB to generate POJOs automatically
Utilized JAXB to generate POJOs automaticallyUtilized JAXB to generate POJOs automatically
Utilized JAXB to generate POJOs automaticallyGuo Albert
 

Semelhante a Rubyistに 不足しているのは会計(そろばん)! (20)

Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
Kickstart Tutorial Xml
Kickstart Tutorial XmlKickstart Tutorial Xml
Kickstart Tutorial Xml
 
XML in software development
XML in software developmentXML in software development
XML in software development
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009
 
A general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4JA general introduction to Spring Data / Neo4J
A general introduction to Spring Data / Neo4J
 
WEB TECHNOLOGIES XML
WEB TECHNOLOGIES XMLWEB TECHNOLOGIES XML
WEB TECHNOLOGIES XML
 
Instrumentation with Splunk
Instrumentation with SplunkInstrumentation with Splunk
Instrumentation with Splunk
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial data
 
浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編 浜松Rails3道場 其の弐 Model編
浜松Rails3道場 其の弐 Model編
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xml
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
 
Ruby を利用した大規模ウェブサービスの開発・運用
Ruby を利用した大規模ウェブサービスの開発・運用Ruby を利用した大規模ウェブサービスの開発・運用
Ruby を利用した大規模ウェブサービスの開発・運用
 
Web application intro
Web application introWeb application intro
Web application intro
 
Utilized JAXB to generate POJOs automatically
Utilized JAXB to generate POJOs automaticallyUtilized JAXB to generate POJOs automatically
Utilized JAXB to generate POJOs automatically
 

Mais de Fukui Osamu

20160529 tokyurubykaigi10
20160529 tokyurubykaigi1020160529 tokyurubykaigi10
20160529 tokyurubykaigi10Fukui Osamu
 
20141129 tokyurubykaigi08
20141129 tokyurubykaigi0820141129 tokyurubykaigi08
20141129 tokyurubykaigi08Fukui Osamu
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議Fukui Osamu
 
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devloveFukui Osamu
 
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜Fukui Osamu
 
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarbFukui Osamu
 
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRuby20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRubyFukui Osamu
 
20130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk0520130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk05Fukui Osamu
 
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイトHerokuで作るdevise認証サイト
Herokuで作るdevise認証サイトFukui Osamu
 
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!Fukui Osamu
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表Fukui Osamu
 

Mais de Fukui Osamu (11)

20160529 tokyurubykaigi10
20160529 tokyurubykaigi1020160529 tokyurubykaigi10
20160529 tokyurubykaigi10
 
20141129 tokyurubykaigi08
20141129 tokyurubykaigi0820141129 tokyurubykaigi08
20141129 tokyurubykaigi08
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議
 
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
 
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
 
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
 
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRuby20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
 
20130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk0520130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk05
 
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイトHerokuで作るdevise認証サイト
Herokuで作るdevise認証サイト
 
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Rubyistに 不足しているのは会計(そろばん)!

  • 1. Rubyist ( ) iRubySystems @iR3 at 2011.7.18 RubyKaigi LT 2011 7 19
  • 2. @iR3 ↓ 2010.11.6 Ruby http://www.slideshare.net/FUKUIOsamu/20101106-ramaze FA eTax XBRL XBRL .... XBRL 2011 7 19
  • 3. • Rubyist Rubyist should study accounting. Take the leadership beyond worker. • Ruby IFRS XBRL GL If you use Ruby on IFRS System for XBRL GL you will win! • XBRL nokogiri The nokogiri is best tool for XBRL handling. And my recursive method. 2011 7 19
  • 4. 2011 7 19
  • 5. Account , ■ 11 July 16-18 2011 2011 7 19
  • 6. You must stand up to 2011 7 19
  • 7. A long time ago Now IT Accounting 2011 7 19
  • 8. 2011 7 19
  • 9. 2011 7 19
  • 10. 2011 7 19
  • 11. Balance sheet(B/S) Profit and Loss statement(P/L) :2011.3.31 :2010.4.1 2011.3.31 2011 7 19
  • 12. Balance sheet(B/S) Profit and Loss statement(P/L) 2011 7 19
  • 13. 2011 7 19
  • 14. by IFRS P/L B/S 2011 7 19
  • 15. IFRS 2011 7 19
  • 16. IFRS XBRL eXtensible Business Reporting Language XML 2011 7 19
  • 17. 2 XBRL • XBRL FR XBRL GL • XBRL FR Financial Reporting • XBRL GL Global Ledger Framework RECOMMENDATION 2011 7 19
  • 18. XBRL FR GL EDINET TDnet FR e-Tax XBRL GL XML 2011 7 19
  • 19. XBRL GL XBRL GL 2011 7 19
  • 20. XBRL GL 2011 7 19
  • 21. XBRL XBRL 2 XML 2011 7 19
  • 22. 2011 7 19
  • 23. 2011 7 19
  • 24. XML Schema Schema: XML Schema XML <schema xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:gl-plt="http://www.xbrl.org/int/gl/plt/2010-04-12" elementFormDefault="qualified" targetNamespace="http://www.xbrl.org/int/gl/plt/2010-04-12" attributeFormDefault="unqualified"> </schema> 2011 7 19
  • 25. annotation: <annotation> <appinfo> <link:linkbaseRef xlink:type="simple" xlink:href="../../cor/lang/gl-cor-2010-04-12-label.xml" xlink:title="Label Links, all" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:linkbaseRef xlink:type="simple" xlink:href="../../cor/lang/gl-cor-2010-04-12-label-ja.xml" xlink:title="Label Links, ja" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </appinfo> </annotation> 2011 7 19
  • 26. XML XML nokogiri http://nokogiri.org/ https://github.com/tenderlove/nokogiri install sudo gem install nokogiri 2011 7 19
  • 27. require 'rubygems' require 'nokogiri' @doc = Nokogiri::XML(open("http://www.xbrl.org/ taxonomy/int/gl/2010-04-12/cor/lang/gl- cor-2010-04-12-label-ja.xml")) puts "@doc class : #{@doc.class}" puts "@doc : #{@doc}" 2011 7 19
  • 28. XPath nokogiri XPath XML Path Language  XPath; XML http://ja.wikipedia.org/wiki/XML_Path_Language 2011 7 19
  • 29. <?xml version="1.0" encoding="utf-8"?> <document> <!-- XML --> <chapter title=" 1 "> <paragraph> </paragraph> <paragraph> </paragraph> <paragraph> </paragraph> <paragraph> </paragraph> </chapter> <chapter title=" 2 "> <paragraph> </paragraph> </chapter> </document> 2011 7 19
  • 30. XPath /document : document ■ /* : document XML ■ /document/chapter : document chapter ■ /document/chapter[1] : document 1 chapter ■ //paragraph : paragraph ■ //chapter[@title=" 1 "]/paragraph : title " 1 " chapter paragraph 2011 7 19
  • 31. nokogiri Thank you tenderlove ! 2011 7 19
  • 32. XML http://d.hatena.ne.jp/iR3/20060428#1146221233 # DB def getchild( db, gr_id ) out = "" # sql = "select gr_id,gr_name from grlist where sgr_id=#{gr_id}" rows = db.query(sql) rows.each_with_index{ |row,i| gr_id1 = row[0] gr_name = row[1] out << "<#{gr_name} data='#{gr_id}'>" out << "rn" if gr_id != gr_id1 out << getchild(db, gr_id1) end out << "</#{gr_name} >" out << "rn" } return out end 2011 7 19
  • 33. 2011 7 19
  • 34. • Rubyist Rubyist should study accounting. Take the leadership beyond worker. • Ruby IFRS XBRL GL If you use Ruby on IFRS System for XBRL GL you will win! • XBRL nokogiri The nokogiri is best tool for XBRL handling. And my recursive method. 2011 7 19