<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>_smiley_teresa (teresa)</title>
    <link>https://ruby-china.org/_smiley_teresa</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>有关 mysql 日志合并 ruby 脚本</title>
      <description>&lt;p&gt;今天 boss 让我整理一下 mysql 日志 按照语句执行的顺序由高到低进行排序 并显示执行次数 想用 ruby 写一下 但是苦于菜鸟 无从下手 于是还是用 php 写了一个 当然 php 也是菜鸟 下面是 php 代码 我觉得 php 的 array() 和相关的函数很方便啊 所以想请教一下 如果 ruby 的话如何实现&lt;/p&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"display_errors"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"On"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="c1"&gt;//显示错误&lt;/span&gt;
&lt;span class="nb"&gt;error_reporting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;E_ALL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nb"&gt;ini_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"memory_limit"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"-1"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="c1"&gt;//取消内存限制&lt;/span&gt;
&lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'mysql.log'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;feof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nb"&gt;fgets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strstr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$temp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'SELECT'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$arr&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$t&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;elseif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strstr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$temp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'UPDATE'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$arr&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$t&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;elseif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strstr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$temp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'DELETE'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$arr&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$t&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'mysql-slow.log'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;feof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nb"&gt;fgets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;strstr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$temp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'SELECT'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$arr&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$t&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$brr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;array_count_values&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="c1"&gt;//计算value 重复数量&lt;/span&gt;
&lt;span class="nb"&gt;uasort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$brr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"my_sort"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="c1"&gt;//排序&lt;/span&gt;

&lt;span class="nv"&gt;$f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'mysqllog.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$brr&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$key&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$key&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$value&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;my_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$a&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Thu, 01 Nov 2012 00:01:14 +0800</pubDate>
      <link>https://ruby-china.org/topics/6447</link>
      <guid>https://ruby-china.org/topics/6447</guid>
    </item>
    <item>
      <title>os 10.8 安装 rvm 问题</title>
      <description>&lt;p&gt;系统安装 10.8 后 安装 rvm 并设置 1.93 为默认版本
重启机器后 系统 ruby 便回到 1.8 并且 rvm 还需要.source 一下才可以
请问各位如何解决
谢谢&lt;/p&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Sun, 02 Sep 2012 19:02:20 +0800</pubDate>
      <link>https://ruby-china.org/topics/5320</link>
      <guid>https://ruby-china.org/topics/5320</guid>
    </item>
    <item>
      <title>大家用什么键盘或鼠标呢</title>
      <description>&lt;p&gt;以前打魔兽用的三星 dt35 鼠标 razer 3g
换了 macpro 就迷上了触摸板 不再外接键盘了
最近看 rich man poor women 觉得微软 4000 好帅！就冲动了
今天送到 结果 键盘是很舒服 但是按键手感太差 空格键也按不动
突发奇想 想知道大家平常都用外设么
一款好的键盘可以缓解大家的疲劳
&lt;img src="//l.ruby-china.com/photo/faf0c3dec1de971714a0343346f0dce0.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Sun, 19 Aug 2012 20:35:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/5034</link>
      <guid>https://ruby-china.org/topics/5034</guid>
    </item>
    <item>
      <title>一个很有趣的在终端输出文件内容的脚本</title>
      <description>&lt;p&gt;刚刚在 twitter 上看到的 蛮有意思
&lt;a href="https://github.com/jtwaleson/decrypt" rel="nofollow" target="_blank"&gt;https://github.com/jtwaleson/decrypt&lt;/a&gt;
有人写个 ruby 版的么 学习学习&lt;/p&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Wed, 08 Aug 2012 17:17:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/4815</link>
      <guid>https://ruby-china.org/topics/4815</guid>
    </item>
    <item>
      <title>貌似阿里的技术团队比较活跃啊</title>
      <description>&lt;p&gt;ruby-china
python-china
cnodejs
创始人都是阿里的啊
你们是商量好的么&lt;/p&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Tue, 07 Aug 2012 19:55:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/4793</link>
      <guid>https://ruby-china.org/topics/4793</guid>
    </item>
    <item>
      <title>lgn21st twitter2weibo 问题</title>
      <description>&lt;p&gt;当我在配置完 yml 后 bundle exec rackup&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;development:
    api_key: '256930401'
    api_secret: '516eed86fdeb61017323c0cb9ae07ec7'
test:
    api_key:
    api_secret:
production:
    api_key:
    api_secret:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;出现了一下错误  是我 yml 配置错误了么？&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse': (config/weibo.yml): found character that cannot start any token while scanning for the next token at line 2 column 1 (Psych::SyntaxError)
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:151:in `parse'
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:127:in `load'
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:297:in `block in load_file'
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:297:in `open'
    from /Users/teresa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb:297:in `load_file'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/weibo-0.0.14/lib/weibo.rb:60:in `&amp;lt;top (required)&amp;gt;'
    from /Applications/MAMP/htdocs/teresa/threewords/config.ru:8:in `require'
    from /Applications/MAMP/htdocs/teresa/threewords/config.ru:8:in `block in &amp;lt;main&amp;gt;'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /Applications/MAMP/htdocs/teresa/threewords/config.ru:1:in `new'
    from /Applications/MAMP/htdocs/teresa/threewords/config.ru:1:in `&amp;lt;main&amp;gt;'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/lib/rack/server.rb:137:in `start'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/gems/rack-1.4.1/bin/rackup:4:in `&amp;lt;top (required)&amp;gt;'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/bin/rackup:23:in `load'
    from /Users/teresa/.rvm/gems/ruby-1.9.3-p194@global/bin/rackup:23:in `&amp;lt;main&amp;gt;'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我用的 gem &lt;/p&gt;

&lt;p&gt;Using rake (0.9.2.2) 
Using backports (2.6.2) 
Using crack (0.3.1) 
Using diff-lcs (1.1.3) 
Using eventmachine (0.12.10) 
Using git (1.2.5) 
Using hashie (1.2.0) 
Using multi_json (1.3.6) 
Using multi_xml (0.5.1) 
Using httparty (0.8.3) 
Using bundler (1.1.5) 
Using json (1.7.4) 
Using rdoc (3.12) 
Using jeweler (1.8.4) 
Using oauth (0.4.6) 
Using rack (1.4.1) 
Using rack-protection (1.2.0) 
Using rack-test (0.6.1) 
Using rspec-core (2.11.1) 
Using rspec-expectations (2.11.2) 
Using rspec-mocks (2.11.1) 
Using rspec (2.11.0) 
Using tilt (1.3.3) 
Using sinatra (1.3.2) 
Using sinatra-contrib (1.3.1) 
Using weibo (0.0.14) &lt;/p&gt;</description>
      <author>_smiley_teresa</author>
      <pubDate>Tue, 07 Aug 2012 09:19:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/4775</link>
      <guid>https://ruby-china.org/topics/4775</guid>
    </item>
  </channel>
</rss>
