<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>theway (theway)</title>
    <link>https://ruby-china.org/theway</link>
    <description>hello.</description>
    <language>en-us</language>
    <item>
      <title>斜视 chatgpt 崇拜</title>
      <description>&lt;p&gt;我现在已经习惯了有问题先问 chatgpt，细化再 google。在使用体验上，确实加快了工作效率。&lt;/p&gt;

&lt;p&gt;但在越来越深入的使用之后，我感觉到，它对于效率上实质的进步要远小于从手工检索到搜索引擎的跃进。次时代搜索引擎才应该是它正确的定位。&lt;/p&gt;

&lt;p&gt;简中网上，几乎所有角落都充斥着吹捧 chatgpt 的声音，小则“淘汰程序员”，大则“工业革命，取代人类”。不熟悉的还以为小麦亩产一万八，人人住上大 house 了呢。&lt;/p&gt;

&lt;p&gt;而乐观者的观点大同小异，归纳起来一条就是认为人类的所有东西都能归纳为 y=f(x) 的理式。&lt;/p&gt;

&lt;p&gt;有了理式之后，只要通过“量”堆，那么某一时刻“涌现”出意识，或者说“自由意志”，也就不是不可能的事情。&lt;/p&gt;

&lt;p&gt;恕我直言，前者是对技术的狂迷。后者又是完全无视科学的求真，蜕化为最原始的巫术崇拜。其结果一是对科学的亵渎，二是对人类文明本身的轻蔑。说到底，这些狂迷者就是无心、无眼、无手、无口的“丧尸”！&lt;/p&gt;

&lt;p&gt;ai 现在能做 ppt、word、能写代码。不是 ai 越来越像人，而是人越来越像机器罢了。说到底，这些软件本身是要求人像“机器”一样工作，ai 才做的如此好。&lt;/p&gt;

&lt;p&gt;语言、事物所构建的整个符号系统，都是靠“否定性”在起作用。而 ai 呢？统计、计算。无时无刻不在做着规定性的推导，这从根本上就决定了它不可能有什么“意志”。也不可能做否定符号系统的事，因为它的工作就是加强自己对符号系统的规定性。而真正的创造，就是对符号系统的超越，乃至否定。所以，ai 永远不可能写出什么伟大的诗篇。&lt;/p&gt;

&lt;p&gt;chatgpt 非常好用，但那些吹捧 chatgpt 的笨蛋们真是碍眼。我希望，那些鼓吹“淘汰人类”的笨蛋们能以身作则，先从消灭自己开始。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;本想把这些话闷起来，但还是没坚持住，想着反正 ruby china 没啥人，就一吐为快了。本人学识粗浅，闲来扯扯淡。若有不足，纯当一笑。&lt;/p&gt;</description>
      <author>theway</author>
      <pubDate>Tue, 21 Mar 2023 17:43:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/42955</link>
      <guid>https://ruby-china.org/topics/42955</guid>
    </item>
    <item>
      <title>在使用 Rails7+ Hotwire 开发项目时遇到关于错误处理的问题</title>
      <description>&lt;p&gt;学了 hotwire，做了个练手的小项目，遇见一个常见的表单验证：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="no"&gt;Tag&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;label: &lt;/span&gt;&lt;span class="n"&gt;tag_params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:label&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;:new&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;status: :unprocessable_entity&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="vi"&gt;@tag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Tag&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tag_params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;respond_to&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
      &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;turbo_stream&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;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这段代码先查询是否有相同 label 的 Tag，如果没有再创建新 Tag 并 turbo_stream 更新到页面上。&lt;/p&gt;

&lt;p&gt;如果表单没有通过验证，则返回 422。这一步是从教程上抄下来的。&lt;/p&gt;

&lt;p&gt;我先是在该控制器视图文件夹下创建了一个空的 new.erb.html。提交错误表单时返回的结果直接将网页全覆盖了。&lt;/p&gt;

&lt;p&gt;然后将此模板改名为 new.turbo_stream.html，因为这个文件内什么操作都没有做，所以提交错误表单没有任何反应，算是正常了。&lt;/p&gt;

&lt;p&gt;我不知道自己目前的做法是否正确，使用 turbo 时，对于常见的表单验证不通过应该怎么处理？只能另建一个别名的 turbo_stream 而没有更优雅的方式了吗？&lt;/p&gt;</description>
      <author>theway</author>
      <pubDate>Thu, 16 Feb 2023 00:05:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/42883</link>
      <guid>https://ruby-china.org/topics/42883</guid>
    </item>
  </channel>
</rss>
