<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hxpax (Xing)</title>
    <link>https://ruby-china.org/hxpax</link>
    <description>I smell magic in the air.</description>
    <language>en-us</language>
    <item>
      <title>用 Sonic Pi 演奏东热片头曲</title>
      <description>&lt;p&gt;16 年，SE-Radio 的 274 期&lt;a href="http://www.se-radio.net/2016/11/se-radio-episode-274-sam-aaron-on-sonic-pi/" rel="nofollow" target="_blank" title=""&gt;SE-Radio Episode 274: Sam Aaron on Sonic Pi&lt;/a&gt;节目里，Sam Aaron 聊了它为什么做 Sonic Pi, 以及为什么用 Ruby 做 Sonic Pi, 虽然他最爱的语言是 Clojure.&lt;/p&gt;

&lt;p&gt;听完这期，我迫不及待地安装了 Sonic Pi, 开始玩现场编程音乐，顺势在那年公司年会做了表演，曲目是超级马里奥。后来我又陆续用 Sonic Pi 写了其它一些曲子，然后束之高阁。&lt;/p&gt;

&lt;p&gt;不知道社区里有没有其它人玩 Sonic Pi, 这里一曲东热，抛砖引玉，多多指教。&lt;/p&gt;

&lt;p&gt;附：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://sonic-pi.net/" rel="nofollow" target="_blank" title=""&gt;Sonic Pi&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hxingpax/play_with_sonicpi" rel="nofollow" target="_blank" title=""&gt;Play Sonic Pi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MyNotes&lt;/span&gt;
  &lt;span class="nb"&gt;attr_reader&lt;/span&gt; &lt;span class="ss"&gt;:n_beats&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;initialize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;notes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;note_group_len&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="vi"&gt;@notes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;notes&lt;/span&gt;
    &lt;span class="vi"&gt;@interval&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;note_group_len&lt;/span&gt;
    &lt;span class="vi"&gt;@n_beats&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;notes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;length&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;note_group_len&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;ite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;times_speed_up&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="n"&gt;gap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@interval&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;times_speed_up&lt;/span&gt;
    &lt;span class="vi"&gt;@notes.each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
      &lt;span class="k"&gt;yield&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;
      &lt;span class="nb"&gt;sleep&lt;/span&gt; &lt;span class="n"&gt;gap&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;go&lt;/span&gt;
    &lt;span class="n"&gt;ite&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;play&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;use_bpm&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;

&lt;span class="no"&gt;A&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="no"&gt;B&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="no"&gt;C&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="no"&gt;D&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:d5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:c6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:b5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:g5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="no"&gt;E&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:a3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:f2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:f3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="ss"&gt;:d3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:d4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:e4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;notes_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;MyNotes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;A&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;notes_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;MyNotes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;B&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;notes_c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;MyNotes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;notes_d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;MyNotes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;D&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;notes_e&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;MyNotes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;E&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="s1"&gt;'!'&lt;/span&gt; &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;notes_b&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
    &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;notes_c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
    &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;notes_d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
    &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;notes_e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="nb"&gt;sleep&lt;/span&gt; &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;n_beats&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:a&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sync&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt;
  &lt;span class="n"&gt;notes_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;go&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:b&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sync&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt;
  &lt;span class="n"&gt;notes_b&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;go&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:c&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sync&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt;
  &lt;span class="n"&gt;notes_c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;go&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:d&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sync&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt;
  &lt;span class="n"&gt;notes_d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;go&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;live_loop&lt;/span&gt; &lt;span class="ss"&gt;:e&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;sync&lt;/span&gt; &lt;span class="ss"&gt;:director&lt;/span&gt;
  &lt;span class="n"&gt;notes_e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;go&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>hxpax</author>
      <pubDate>Tue, 29 Jan 2019 16:05:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/38064</link>
      <guid>https://ruby-china.org/topics/38064</guid>
    </item>
    <item>
      <title>AngelHack2018 全球黑客马拉松系列 - 上海站</title>
      <description>&lt;h2 id="AngelHack2018全球黑客马拉松系列 - 上海站"&gt;AngelHack2018 全球黑客马拉松系列 - 上海站&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30193092120030572.jpeg" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="全球最大的黑客马拉松带着价值100,000人民币的大奖来上海了!"&gt;全球最大的黑客马拉松带着价值 100,000 人民币的大奖来上海了！&lt;/h2&gt;
&lt;p&gt;AngelHack 全球黑客马拉松系列首次登陆上海，我们为大家带来了总价值约&lt;strong&gt;100,000 人民币&lt;/strong&gt;的奖励，可口的美食零食饮料，有趣的参赛伙伴，以及难忘的参赛经历。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://v.qq.com/x/page/f0695a4xu24.html" rel="nofollow" target="_blank" title=""&gt;AngelHack2018 宣传视频 - Anyone can code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;过去一整年，你可能已经参加了很多场峰会，听了很多讲座，看了很多 PPT. 现在，是时候拿出​一个周末来动手做点好玩的事儿了。如果你有新奇有趣的想法，或是喜欢编程，赶紧报名!​&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="挑战和奖励"&gt;挑战和奖励&lt;/h2&gt;
&lt;p&gt;以下奖励来自 AngelHack 官方，和我们的赞助伙伴。参赛队伍可以设计一个产品参加所有挑战，拿走所有奖励 (如果足够好), 也可以侧重一个挑战，拿走某个特定奖励。&lt;/p&gt;
&lt;h3 id="AngelHack"&gt;AngelHack&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30873092097857825.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;天使黑客挑战&lt;/strong&gt;: 挑战你的技术和你的创业精神。创造天马行空的产品，为世界带来积极的改变，无论解决的问题是大或小，就是这么简单。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;天使黑客奖&lt;/strong&gt;: 12 周的大牛导师带路，然后至硅谷参加为期一周的 Global Demo Day, 费用 AngelHack 全包。&lt;/p&gt;
&lt;h3 id="六度智囊"&gt;六度智囊&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30243092098057827.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;专家网络行业革新挑战&lt;/strong&gt;: 提出先进理念与解决方案打破创投资讯行业，使资讯行业传播更精准便捷与高效。提出的理念或者解决方案可以涵盖区块链，共享经济，数据分析与交互，人工智能，数据安全等技术。六度智囊希望借此活动引发参与者对于专家网络行业的关注，开发智能解决方案（产品）用于提升行业效率，变革与交互。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bad-ass Hacker 奖&lt;/strong&gt;: 15000 元人民币 + 高薪 Offer&lt;/p&gt;
&lt;h3 id="仲量联行"&gt;仲量联行&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30513092098387830.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PropTech 挑战&lt;/strong&gt;: 针对或涵盖物联网、区块链、共享经济、设计与建造、数据科学与分析、智能停车和信息交流与共享等方面，提出解决方案。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PropTech 奖&lt;/strong&gt;: 10000 元人民币&lt;/p&gt;

&lt;p&gt;仲量联行希望能看到此次活动的参与者充分利用技术与创新帮助房地产行业进行变革。解决方案可以围绕以下两个方面：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;房地产交易和服务 - 开发智能的方案用于提高市场上物业买卖与租赁交易的效率。&lt;/li&gt;
&lt;li&gt;物业管理 - 提出先进的理念和解决方案去打破传统物业管理模式，使物业管理进入一个全新的智能时代，节省人力、节省能耗，并能够提供前瞻性的服务。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;PropTech 是指房地产科技是科技与房地产的结合。&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="声网"&gt;声网&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30253092098797834.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;声网实时通信挑战&lt;/strong&gt;: 使用&lt;a href="https://docs.agora.io/en/2.3.1" rel="nofollow" target="_blank" title=""&gt;Agora SDK&lt;/a&gt;创建一个应用或网站，来体现 RTC 技术的应用。使用 RTC 技术来解决一个现实中的问题，或者进行一个场景的创新。比如：在线合唱、在线辩论。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;声网实时通信奖&lt;/strong&gt;: 5000 元人民币 + 9 月北京出席 RTC2018 大会并现场演示产品&lt;/p&gt;
&lt;h3 id="IBM"&gt;IBM&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30643092099107837.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;代码行动编程挑战&lt;/strong&gt; &lt;a href="https://developer.ibm.com/callforcode/" rel="nofollow" target="_blank" title=""&gt;代码行动&lt;/a&gt;是根据交通和天气情况来改善物流，提升人类应对自然灾害能力的编程挑战，通过对天气和交通状况的了解来有效地减少受影响的人数。用 IBM 代码模式激发您开启解决方案的灵感，或者在 IBM 云上利用其他 IBM 代码模式和服务创建您的想法。&lt;a href="https://developer.ibm.com/callforcode/" rel="nofollow" target="_blank" title=""&gt;代码行动&lt;/a&gt;是一项为期多年的全球性倡议，旨在鼓励开发人员利用可持续的软件解决方案来解决迫在眉睫的全球性问题。通过这次挑战来获得竞争优势，构建相应的解决方案来显著改善您所在社区和全球范围内当前的灾害防备情况。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;代码行动全球奖&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;第一名，7500 美元现金&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;第二名，2500 美元现金&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="CODE FOR A CAUSE"&gt;CODE FOR A CAUSE&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30763092099247839.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;公益编程挑战&lt;/strong&gt; 创建一个可以解决直接影响你所在社区的社会或环境问题的高科技产品。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;公益编程社会影响奖&lt;/strong&gt;：每场马拉松设有一项社会影响奖。在全球黑客马拉松季的最后，最佳社会影响奖项目将会由陈 - 扎克伯格基金会和其他专家组成的组委会评选产生。最后的五强将会收到天使黑客黑客加速器项目的特约邀请函。&lt;/p&gt;
&lt;h3 id="特别参与奖"&gt;特别参与奖&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30163092099360444.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;参赛团队还有机会获得 Axiom6AI 赠出的 FitBit 可编程智能手表。&lt;/p&gt;
&lt;h2 id="赛程"&gt;赛程&lt;/h2&gt;&lt;h3 id="2018年06月30日 09:00 - 00:00"&gt;2018 年 06 月 30 日 09:00 - 00:00&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;09:00 - 10:00&lt;/strong&gt; 开始注册及早餐&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10:00 - 11:00&lt;/strong&gt; 开幕仪式，赞助商介绍，团建&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11:00 - 11:01&lt;/strong&gt; 编程开始&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12:00 - 13:00&lt;/strong&gt; 午餐&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;22:00 - 23:00&lt;/strong&gt; 游说工作坊&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;23:00 - 00:00&lt;/strong&gt; 宵夜和娱乐&lt;/p&gt;
&lt;h3 id="2018年07月01日 08:00 - 17:00"&gt;2018 年 07 月 01 日 08:00 - 17:00&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;08:00 - 08:30&lt;/strong&gt; 早餐&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12:00 - 12:30&lt;/strong&gt; 午餐&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13:00 - 13:30&lt;/strong&gt; 完成代码和最终提交&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13:30 - 14:00&lt;/strong&gt; 影音设备检查&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14:00 - 16:00&lt;/strong&gt; 演示&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;16:00 - 17:00&lt;/strong&gt; 宣布获奖名单/颁奖！&lt;/p&gt;
&lt;h2 id="地点"&gt;地点&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;裸心社 西康路&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;上海市普陀区 长寿路 189 号 6 楼&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30303092099540446.jpg" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="评委"&gt;评委&lt;/h2&gt;
&lt;p&gt;我们对待黑客马拉松是严肃活泼认真的，所以我们有一群严肃活泼认真的评委。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30563092915668445.jpeg" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="关于AngelHack"&gt;关于 AngelHack&lt;/h2&gt;
&lt;p&gt;AngelHack 来自硅谷，是全球最大的黑客马拉松社区，每年在全球超过 50 个国家举办将近 200 场黑客马拉松。多年来，AngelHack 的全球黑客马拉松系列成功诞生了上百家科技公司，AngelHack 也为 Microsoft, Google, Lenovo, MasterCard 等全球顶级科技公司成功举办了多届企业黑客马拉松，以及全球最大的区块链黑客马拉松--EOS 全球黑客马拉松。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30983092136440633.jpg" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="赞助商和合作伙伴"&gt;赞助商和合作伙伴&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://www.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30943092108850515.jpg" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="FAQ"&gt;FAQ&lt;/h2&gt;&lt;h3 id="参赛形式?"&gt;参赛形式？&lt;/h3&gt;
&lt;p&gt;组队参赛。每个队伍最多 5 人，最少 1 人。&lt;/p&gt;
&lt;h3 id="如何组队?"&gt;如何组队？&lt;/h3&gt;
&lt;p&gt;可以在赛前寻找你认识的同事朋友组成一个队伍一起报名，也可以在比赛时现场结对。如果你的队伍人数不足 5 人，你可以随时邀请他人加入。&lt;/p&gt;
&lt;h3 id="谁能参加?"&gt;谁能参加？&lt;/h3&gt;
&lt;p&gt;最好是有编程基础的人。但这并不是必须的，毕竟我们鼓励团队协作，每个团队应该有擅长不同方面的人，有人负责创意，有人负责 UI, 有人负责后台，也许加一个鼓励师。&lt;/p&gt;
&lt;h2 id="报名地址"&gt;报名地址&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.eventbank.cn/event/16454/register/" rel="nofollow" target="_blank" title=""&gt;EventBank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.huodongxing.com/event/7445258889500" rel="nofollow" target="_blank" title=""&gt;活动行&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>hxpax</author>
      <pubDate>Wed, 20 Jun 2018 11:50:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/36971</link>
      <guid>https://ruby-china.org/topics/36971</guid>
    </item>
    <item>
      <title>[上海] AngelHack 人工智能沙龙</title>
      <description>&lt;h2 id="AngelHack人工智能沙龙"&gt;&lt;a href="http://www.huodongxing.com/event/7441786899200" rel="nofollow" target="_blank" title=""&gt;AngelHack 人工智能沙龙&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.huodongxing.com/event/7441786899200" rel="nofollow" target="_blank" title=""&gt;最后 10 张票，点击这里报名&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="介绍"&gt;介绍&lt;/h2&gt;
&lt;p&gt;AngelHack 作为全球最大的黑客马拉松社区，旨在为开发者或任何其它喜欢科技喜欢编程的人提供一个实现想法的平台，以及提供各种提高开发技能和开发理念的机会。&lt;/p&gt;

&lt;p&gt;人工智能正在重塑世界。游戏，围棋，语音识别，图像识别，语言翻译... 人工智能渗透了现代社会的方方面面。无论你是在校学生，科研工作者，开发者，或者任何行业的人，都应该积极了解和拥抱人工智能，保持与时代同步。&lt;/p&gt;

&lt;p&gt;为了让更多开发者和科技爱好者更深入地了解人工智能，并且能够将人工智能应用到日常开发和工作中，AngelHack 联合全球知名在线教育机构优达学城，全球实时云开创者声网，以及少儿编程教育培训机构 Axiom6AI, 特地举办这期人工智能沙龙。&lt;/p&gt;
&lt;h2 id="日期和时间"&gt;日期和时间&lt;/h2&gt;
&lt;p&gt;6 月 10 日 (周日), 13:30-17:00&lt;/p&gt;
&lt;h2 id="地址"&gt;地址&lt;/h2&gt;
&lt;p&gt;上海市静安区胶州路 709 号密连&lt;/p&gt;
&lt;h2 id="议程"&gt;议程&lt;/h2&gt;
&lt;p&gt;13:30-14:10 签到 / 自由交流&lt;/p&gt;

&lt;p&gt;14:10-14:50 曾辰 (优达学城深度学习/无人车课程经理) : &lt;strong&gt;机器学习中的强化学习&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;14:50-15:30 吴晓然 (声网视频工程师) : &lt;strong&gt;基于深度学习的超分辨率&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;15:30-15:50 茶歇 / 自由交流&lt;/p&gt;

&lt;p&gt;15:50-16:30 Raylyn Lee (Axiom6AI 公共关系总监) : &lt;strong&gt;酒店旅游管理中的人工智能&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;16:30-17:00 自由交流&lt;/p&gt;
&lt;h2 id="嘉宾介绍"&gt;嘉宾介绍&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30133068035520432.jpg?auth_key=1527507607-0-0-2aa4b0b81e05f668b160a749cae97a2b?auth_key=1527507809-0-0-fb9c7eacb783f98ac33f654328fb8cb3?auth_key=1527549354-0-0-97b4c8d13a6e44c71ed2bb70441275ba?auth_key=1527627511-0-0-4cdaabb3006fb86bde7629a8f8010029" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;曾辰&lt;/strong&gt;是同济大学/英属哥伦比亚大学地球物理学博士，现任优达学城 Udacity 深度学习/无人车课程经理。熟悉卫星光学大数据挖掘，有多年机器学习数据挖掘经验。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30813068035750435.jpeg?auth_key=1527507607-0-0-766bed8a97e1ebf352415200199942fd?auth_key=1527507809-0-0-53c4a2a19819277164bb9c706f156c7f?auth_key=1527549354-0-0-f331ff3c60e588957f2f4422861e97ac?auth_key=1527627511-0-0-d32bee767d032c956ceb30b19821334d" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;吴晓然&lt;/strong&gt;是上海交通大学本科/硕士。现任声网 Agora.io 视频工程师。曾任职于 Intel, Marvell, Harman 等知名外企，负责多媒体架构，视频编解码。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30903068035880440.jpg?auth_key=1527507607-0-0-397d48f8e1ace24f9f72252892fe3d42?auth_key=1527507809-0-0-e903d9fbbe2e88a816e834736243bcc4?auth_key=1527549354-0-0-ced913e81eed54d4bab73da2493c5168?auth_key=1527627511-0-0-9ee6faf6d10f7a0564eca23bd310fa5f" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Raylyn&lt;/strong&gt;拥有在六个国际大城市的求学及生活经验，使 Raylyn 对丰富多元的文化有极深度地瞭解，并建立了一个全球性的人际网络。现居上海，Raylyn 将于明年在回归瑞士进修后，获取商业管理的学位。Raylyn 目前在探索各种人工智慧及酒店旅游业的连结。而在 Axiom6AI 经历市场开发及合作关系的经验，将引领她，以为了提供更智能及贴心的服务为出发点，把未来的世界带进一个极传统的产业。&lt;/p&gt;
&lt;h2 id="主办方"&gt;主办方&lt;/h2&gt;&lt;h3 id="AngelHack"&gt;AngelHack&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30133068035980441.png?auth_key=1527507607-0-0-353d31cd649457f8bb10aa60dc7539fb?auth_key=1527507809-0-0-9db292013c6677e23d9f20697e87c432?auth_key=1527542613-0-0-5d2d83684cebfcece0fb5f6cd6d3e948" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;AngelHack 来自硅谷，是全球最大且最多元化的开发者社区，拥有超过 150000 名开发者，设计师，和企业家。每年，AngelHack 在全球超过 50 个国家举办超过 100 场黑客马拉松。AngelHack 通过全球黑客马拉松，企业黑客马拉松，以及加速器服务，助力全球科技创新。&lt;/p&gt;
&lt;h2 id="协办方"&gt;协办方&lt;/h2&gt;&lt;h3 id="优达学城"&gt;优达学城&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30223068036100444.jpeg?auth_key=1527507607-0-0-329eb624b334ae69ce6542f8bb0accdb?auth_key=1527507809-0-0-570d2b2aa04a48a675b181894e839174?auth_key=1527542613-0-0-7b5e6f25cd205884ef5ac9df23af0e83" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;优达学城 (Udacity) 诞生于斯坦福大学的一个实验。我们是一个还在快速成长的团队，全世界最优秀的工程师和教育者相聚在这里，为了用教育改变世界的未来而共同努力。我们相信，在优达学城，高等教育也能满足行业的实际需求，能够让学习者拥有实用的技能，成为被全球领先科技企业认可的抢手人才。&lt;/p&gt;
&lt;h3 id="声网"&gt;声网&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30873068036190447.png?auth_key=1527507607-0-0-10f3cf8dece09e6e5f9ecffbe6e85ddd?auth_key=1527507809-0-0-2b34bbb11535b48d9444c49b5c0aec35?auth_key=1527542613-0-0-7e176f3a4dea041f4d50c762b244fed6" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;声网 Agora.io 于 2014 年成立，总部位于硅谷，研发中心位于上海。团队 90% 均为全球技术工程师，包括 Vidyo 产品负责人、Polycom 工程总监，来自腾讯、YY、微软、华为、思科、英特尔等企业的技术专家，平均行业经验 10 年以上，团队有年服务数千亿分钟音视频通话经验和千万级并发的互联网直播经验。&lt;/p&gt;
&lt;h3 id="Axiom6AI"&gt;Axiom6AI&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30233068036340453.jpeg?auth_key=1527507607-0-0-a61c712af2b5c8d700bfb2b55044727b?auth_key=1527507809-0-0-79626fc020e8f6be3148d5c0f15120b7?auth_key=1527542613-0-0-98de84d70ac093678bc1d6f7d7213e0c" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Axiom6AI 是最早运用数学技术来解决当今教育学习挑战的公司之一。我们的人才团队包括为微软、谷歌、黑莓、Expedia 和摩根士丹利工作的 IT 工程师、开发人员和数据专家。我们与世界著名的人工智能大学的研究人员建立了良好的关系，在教育中应用创新的深度学习方法。&lt;/p&gt;
&lt;h2 id="社区伙伴"&gt;社区伙伴&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30973068019520225.png?auth_key=1527507607-0-0-115e9c76770e95da8e601a8cca3a3b36?auth_key=1527507809-0-0-7d2fa53319f91ff10f76475c7b36736f?auth_key=1527542613-0-0-95ad43ec4f3a1bfe6e283801913e5ccb" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30693068021770264.png?auth_key=1527507607-0-0-17bb3470ab369328ab4ec288a7bf42eb?auth_key=1527507809-0-0-10b7fd054f68e19cfa12ed29e7097571?auth_key=1527542613-0-0-541df6d85ebf6b56b5b1bda35d3c809e" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30913068020130234.png?auth_key=1527507607-0-0-8021182b53379a9b09bcd16bc44cafa5?auth_key=1527507809-0-0-a7e4ea71bc56d6f0ca1bf378e8a7bb10?auth_key=1527542613-0-0-8a3d9cb2c091f448d16f24328b4cdc01" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30983068020690241.png?auth_key=1527507607-0-0-7626db0a1fa99a9a635dfafd2d71aab3?auth_key=1527507809-0-0-8737bad60fadd9d87755d12a99e707b2?auth_key=1527542613-0-0-1b1e7281f63eec70d78a47b0941772cb" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://cdn.huodongxing.com/file/20161104/11D1E52F1094092C1EBC5D66A583A20650/30633068473944328.jpg?auth_key=1527507607-0-0-dce99ad8c80f9e2f85f2ee4277cfb580?auth_key=1527507809-0-0-b4797e6e17a09e79e3c0c9aa95c65cf1?auth_key=1527542613-0-0-f7a43178b416844edf152aca327a94be" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.huodongxing.com/event/7441786899200" rel="nofollow" target="_blank" title=""&gt;报名请戳这里&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
      <author>hxpax</author>
      <pubDate>Tue, 29 May 2018 00:27:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/36852</link>
      <guid>https://ruby-china.org/topics/36852</guid>
    </item>
  </channel>
</rss>
