Table of Contents - rabbit-slide-kou-rubykaigi-2019-2019.4.19.5 Documentation
Pages
- README.rd
- Rakefile
- config.yaml
-
csv.rab
- Better CSV processingnwith Ruby 2.6
- Ad: Silver sponsor
- Slide properties
- Ad: Cafe sponsor
- Slide properties
- Kouhei Sutou
- Kazuma Furuhashi
- csv in Ruby 2.6 (1)n(('note:Ruby 2.6のcsv(1)'))
- Unquoted CSVn(('note:クォートなしのCSV'))
- Quoted CSVn(('note:クォートありのCSV'))
- Quoted separator CSV (1)n(('note:区切り文字をクォートしているCSV(1)'))
- Quoted separator CSV (2)n(('note:区切り文字をクォートしているCSV(2)'))
- Quoted CSVsn(('note:クォートありのCSV'))
- Multibyte CSVn(('note:マルチバイトのCSV'))
- csv in Ruby 2.6 (2)n(('note:Ruby 2.6のcsv(2)'))
- (({CSV.generate_line}))
- (({CSV#<<}))
- (({CSV.generate_line})) vs. (({CSV#<<}))
- csv in Ruby 2.6 (3)n(('note:Ruby 2.6のcsv(3)'))
- Benchmark with KEN_ALL.CSVn(('note:KEN_ALL.CSVでのベンチマーク'))
- KEN_ALL.CSV statisticsn(('note:KEN_ALL.CSVの統計情報'))
- Parsing KEN_ALL.CSVn(('note:KEN_ALL.CSVのパース'))
- Fastest parsing in pure Rubyn(('note:Ruby実装での最速のパース方法'))
- KEN_ALL.CSV without quoten(('note:クォートなしのKEN_ALL.CSV'))
- Optimized no quote CSV parsingn(('note:最適化したクォートなしCSVのパース方法'))
- Summary: Performancen(('note:まとめ:性能'))
- How to improve performance (1)n(('note:速度改善方法(1)'))
- Complex quoten(('note:複雑なクォート'))
- Use (({StringScanner}))n(('note:(({StringScanner}))を使う'))
- 2.5 uses (({String#split}))
- (({split})): Complex quote
- 2.6 uses (({StringScanner}))
- (({parse_column_value}))
- (({parse_unquoted_column_value}))
- (({parse_quoted_column_value}))
- Parse methods can be compositedn(('note:パースメソッドを組み合わせられる'))
- Point (1)n(('note:ポイント(1)'))
- (({StringScanner})): Complex quote
- How to improve performance (2)n(('note:速度改善方法(2)'))
- Simple casen(('note:単純なケース'))
- Use (({String#split}))n(('note:(({String#split}))を使う'))
- Fallback to (({StringScanner})) impl.n(('note:(({StringScanner}))実装にフォールバック'))
- Quoted CSVsn(('note:クォートありのCSV'))
- Point (2)n(('note:ポイント(2)'))
- How to improve performance (3)n(('note:速度改善方法(3)'))
- (({loop})) vs. (({while}))
- Point (3)n(('note:ポイント(3)'))
- How to improve performance (4)n(('note:速度改善方法(4)'))
- (({CSV})) object is parser and writern(('note:(({CSV}))オブジェクトは読み書きできる'))
- Write performance
- How to initialize lazilyn(('note:初期化を遅延する方法'))
- Point (4)n(('note:ポイント(4)'))
- New features by new parsern(('note:新しいパーサーによる新機能'))
- " escapen(('note:\“でのエスケープ'))
- (({strip:}))n(('note:(({strip:}))'))
- csv in Ruby 2.6 (4)n(('note:Ruby 2.6のcsv(4)'))
- How to keep backward compat.n(('note:互換性を維持する方法'))
- Testn(('note:テスト'))
- Easy to maintenancen(('note:メンテナンスしやすい状態'))
- Benchmarkn(('note:ベンチマーク'))
- benchmark_driver gem
- benchmark_driver gem in csv
- Benchmark for each gem versionn(('note:gemのバージョン毎のベンチマーク'))
- Slide properties
- csv/benchmark/
- Benchmark as a starting pointn(('note:出発点としてのベンチマーク'))
- How to use improved csv?n(('note:改良されたcsvを使う方法'))
- csv in Ruby 2.5n(('note:Ruby 2.5のcsv'))
- Default gemn(('note:デフォルトgem'))
- How to use improved csv?n(('note:改良されたcsvを使う方法'))
- Futuren(('note:今後の話'))
- Improve (({String#split}))n(('note:(({String#split}))を改良'))
- (({split(“ ”)})) works like awkn(('note:(({split(“ ”)}))はawkのように動く'))
- (({String#split})) in csvn(('note:csvでの(({String#split}))'))
- (({split(string)})) vs. (({split(regexp)}))
- Improve (({StringScanner#scan}))n(('note:(({StringScanner#scan}))を改良'))
- (({scan(string)})) vs. (({scan(regexp)}))
- Faster KEN_ALL.CSV parsing (1)n(('note:より速いKEN_ALL.CSVのパース(1)'))
- Faster KEN_ALL.CSV parsing (2)n(('note:より速いKEN_ALL.CSVのパース(2)'))
- Faster KEN_ALL.CSV parsing (3)n(('note:より速いKEN_ALL.CSVのパース(3)'))
- Further workn(('note:今後の改善案'))
- Join us!n(('note:一緒に開発しようぜ!'))
- Join us!!n(('note:一緒に開発しようぜ!!'))