<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>kevinyu (任清宇)</title>
    <link>https://ruby-china.org/kevinyu</link>
    <description>初级Rails程序员</description>
    <language>en-us</language>
    <item>
      <title>NanUI 暂停更新，作者 36 岁被裁去卖钢材</title>
      <description>&lt;p&gt;原文链接 [&lt;a href="https://github.com/XuanchenLin/NanUI/discussions/367" rel="nofollow" target="_blank"&gt;https://github.com/XuanchenLin/NanUI/discussions/367&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/kevinyu/5eb2c999-4b1b-4faf-8462-b2b50092424a.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Tue, 10 Oct 2023 13:34:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/43378</link>
      <guid>https://ruby-china.org/topics/43378</guid>
    </item>
    <item>
      <title>我照着 collectiveidea/audited 改了一套 mongoid 版</title>
      <description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;公司想使用&lt;a href="https://github.com/collectiveidea/audited" rel="nofollow" target="_blank" title=""&gt;audited&lt;/a&gt; 用来作为审计，但是由于日积月累会导致 audits 表非常大。&lt;/p&gt;

&lt;p&gt;定时删除此表以及此表的读写都对数据库性能有很大的影响。这个问题我在上家公司也遇到过表里有一亿数据，&lt;/p&gt;

&lt;p&gt;运维小哥不知道备份一次就这一个表就有 25G 大，我写脚本删除的时候异常痛苦因为要分批删除，&lt;/p&gt;

&lt;p&gt;还要尽量避免间隙锁。所以我和团队师兄商量一下决定采用 mongo 存储日志，&lt;/p&gt;

&lt;p&gt;因为这个表只会创建和查询使用 mongo 还挺不错的，双数据库也可以不影响 mysql 主库的性能。&lt;/p&gt;

&lt;p&gt;结果查了一下 &lt;code&gt;audited&lt;/code&gt;仅仅有一个版本很老的&lt;code&gt;audited-mongo_mapper&lt;/code&gt;版本，我们项目使用的是 mongoid&lt;/p&gt;

&lt;p&gt;所以我就照着&lt;code&gt;ActiveRecord&lt;/code&gt;版本改了一个&lt;code&gt;mongoid&lt;/code&gt;版本的&lt;a href="https://github.com/Kevinqingyu/audited-mongoid" rel="nofollow" target="_blank" title=""&gt;audited-mongoid&lt;/a&gt;，勉强能用了，有需要的可以试试看。&lt;/p&gt;

&lt;p&gt;按步骤创建好核心的模块文件之后，仅需要进行简单的引入就可以实现。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="模型引入"&gt;模型引入&lt;/h3&gt;
&lt;p&gt;模型引入&lt;code&gt;audited&lt;/code&gt;后&lt;code&gt;mongo&lt;/code&gt;库中会自动创建一个集合&lt;code&gt;model_audit_logs&lt;/code&gt;,并设置了日志的保留时间 (需要在&lt;code&gt;mongo&lt;/code&gt;中建立索引后生效)
，建立索引后日志会在到期时自动删除，而无需像&lt;code&gt;ActiveRecord&lt;/code&gt;版本那样手动删除以减轻对&lt;code&gt;mysql&lt;/code&gt;的压力。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Model&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="no"&gt;MONGO_EXPIRE_AFTER_SECONDS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;days&lt;/span&gt; &lt;span class="c1"&gt;# mongo中日志保留时间&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Audited&lt;/span&gt; &lt;span class="c1"&gt;# 引入审计模块&lt;/span&gt;
  &lt;span class="n"&gt;audited&lt;/span&gt;  &lt;span class="c1"&gt;# 调用审计初始化方法&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="audited 方法使用"&gt;audited 方法使用&lt;/h3&gt;
&lt;p&gt;监控所有字段 (不包含默认忽略字段，例如：created_at updated_at...)&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;audited&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;监控单一字段&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;audited&lt;/span&gt; &lt;span class="ss"&gt;only: :name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;监控多个字段&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;audited&lt;/span&gt; &lt;span class="ss"&gt;only: &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:address&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;监控除某些字段外的所有字段&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;audited&lt;/span&gt; &lt;span class="ss"&gt;except: :password&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/kevinyu/2ee97c77-4973-4e1a-a47a-6f6c2e8736b8.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;只需要稍作修改即可满足自定义的业务，比如自定义 action 名 (可以存入状态机&lt;code&gt;event&lt;/code&gt;+ 国际化即可完善审计日志)&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Wed, 26 May 2021 19:48:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/41303</link>
      <guid>https://ruby-china.org/topics/41303</guid>
    </item>
    <item>
      <title>Mac 新系统安装 Ruby 失败问题 (转)</title>
      <description>&lt;h3 id="经过测试  10.14 , 10.15,  11.2 Big Sur 都可以正常安装低版本ruby 了"&gt;经过测试  10.14 , 10.15,  11.2 Big Sur 都可以正常安装低版本 ruby 了&lt;/h3&gt;
&lt;p&gt;同事找到了解决办法 &lt;a href="https://github.com/rvm/rvm/issues/5018#issuecomment-752563629" rel="nofollow" target="_blank" title=""&gt;原文链接&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;首先安装一个 xcode&lt;/p&gt;

&lt;p&gt;XCode -&amp;gt; Preferences -&amp;gt; Locations -&amp;gt; Command Line Tools -- choose xcode 11.X&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brew install rbenv/tap/openssl@1.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brew link openssl@1.0&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export LDFLAGS="-L/usr/local/opt/openssl@1.0/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.0/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.0/lib/pkgconfig"
export PATH="/usr/local/opt/openssl@1.0/bin:$PATH"
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rvm reinstall 2.2.0 --with-zlib-dir=$(brew --prefix zlib) --with-openssl-dir=/usr/local/opt/openssl@1.0 --with-openssl-lib=/usr/local/opt/openssl@1.0/lib --with-openssl-include=/usr/local/opt/openssl@1.0/include --with-opt-dir=/usr/local/opt/openssl@1.0
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>kevinyu</author>
      <pubDate>Fri, 19 Feb 2021 11:01:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/40922</link>
      <guid>https://ruby-china.org/topics/40922</guid>
    </item>
    <item>
      <title>macOS 大于 10.14 或系统安装 openssl 1.1 导致安装 Ruby 小于 2.4 版本 失败问题</title>
      <description>&lt;h3 id="背景："&gt;背景：&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;公司有一些老项目需要低版本 ruby,&lt;/p&gt;

&lt;p&gt;之前安装黑苹果和使用新版 macmini 都遇到过由于 openssl1.1 导致的安装失败问题&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="解决方案："&gt;解决方案：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;1.我们使用 rvm 来安装 ruby(具体参考 ruby-china wiki)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2.卸载和清除所有 rbenv 环境变量和安装数据 (包括软件，目录，环境变量)，之前由于 rvm 装不上尝试过 rbenv 导致的遗留，如果没有请跳过。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;3.重新安装低版本 openssl&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rvm pkg &lt;span class="nb"&gt;install &lt;/span&gt;openssl
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;4.重新安装 ruby&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rvm reinstall ruby-2.1.10 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="nt"&gt;--with-openssl-dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;/.rvm/usr
rvm use ruby-2.1.10
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;6.重新生成 gemset&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rvm gemset create fantuan_gemset
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;7.指定 ruby 版本和 gemset&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rvm use ruby-2.1.10@fantuan_gemset
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;8.进入项目目录开始 &lt;code&gt;bundle install&lt;/code&gt; 吧&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>kevinyu</author>
      <pubDate>Wed, 16 Dec 2020 11:16:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/40706</link>
      <guid>https://ruby-china.org/topics/40706</guid>
    </item>
    <item>
      <title>浏览器点击后退，如果是 react 页面返回到 erb 页面，只有 url 部分变化了，页面没有渲染</title>
      <description>&lt;h3 id="背景："&gt;背景：&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;项目部分功能采用 react 作为前端，部分页面采用 erb 页面由后端渲染，当先进入 erb 页面然后再点击 react 页面时，点击浏览器后退就会出现 url 变化了页面不渲染的问题，如果是 erb 页面前进后退都会加载 bf cache，react 前进后退也会根据路由渲染。
所以想问一下如何让 react 在前进后退到 非 react 页面时 调用浏览器缓存渲染页面，而不是单单的改变了 url&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;react 部分跳转页面是这样实现的 &lt;/p&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;navigate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="我的尝试："&gt;我的尝试：&lt;/h3&gt;
&lt;p&gt;1.我一开始尝试监听&lt;code&gt;popstate&lt;/code&gt;事件，如果访问的连接不在 react 路由中就执行 window.location.go() 操作；
但是这样的效果并不好，前进的事件也会被监听并触发 (比如某些 react 中的下一步操作也会触发)；&lt;/p&gt;
&lt;h3 id="接下来准备尝试"&gt;接下来准备尝试&lt;/h3&gt;
&lt;p&gt;1.用 react-history 接管在 react 部分的前进后退这种操作&lt;/p&gt;

&lt;p&gt;最后希望朋友们也分享一下经验&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Thu, 28 May 2020 13:07:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/39909</link>
      <guid>https://ruby-china.org/topics/39909</guid>
    </item>
    <item>
      <title>写 Ruby 时间长了看见什么都要缩进 2 空格，唉。</title>
      <description>&lt;p&gt;&lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Fri, 20 Dec 2019 10:02:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/39358</link>
      <guid>https://ruby-china.org/topics/39358</guid>
    </item>
    <item>
      <title>macOS 下使用虚拟机开发 (Vagrant)</title>
      <description>&lt;p&gt;&lt;img src="https://rails365.oss-cn-shenzhen.aliyuncs.com/uploads/photo/image/1543/2019/d2b5ca33bd970f64a6301fa75ae2eb22.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="背景"&gt;背景&lt;/h3&gt;
&lt;p&gt;在过去的几年间一直使用 MacBookPro(2015 款 13 寸最低配，2013 款 15 寸最高配) 笔记本开发，使用了大概 4 年多的时间，非常的熟悉 mac 下开发。由于性能问题在换到黑苹果之后装载了最新的操作系统，电脑上可能会装有十几个 ruby 项目以及一部分的 vue 项目等等，在 mac 最新系统 (10.14.4) 下对老版本的 ruby 和 gems 的支持有些许问题给我带来了很大困扰，不同的环境交错复杂时间长了很难维护，遂产生了使用虚拟机或者 docker 开发 的想法。&lt;/p&gt;
&lt;h3 id="思考"&gt;思考&lt;/h3&gt;
&lt;p&gt;这篇记录不讨论 mac 虚拟机 和 docker 开发 客观的优缺点，而是带着主观来说优缺点可能某些优点在我使用就不是优点了 (或者说不适合我)，所以我希望能达到&lt;code&gt;和mac下开发的体验保持一致&lt;/code&gt;，&lt;code&gt;速度快隔离性好&lt;/code&gt;，之前考虑过 docker 由于 docker 偏向于一个项目一个 docker 镜像这对我来说是不可接受的，因为我项目很多镜像搞太多还单独独立于自己的容器中对我来说不方便，最后经由&lt;code&gt;同事&lt;/code&gt;推荐使用 Vagrant + VirtualBox(因为免费) + ubuntu18.04 镜像。&lt;/p&gt;
&lt;h3 id="准备"&gt;准备&lt;/h3&gt;
&lt;p&gt;Vagrant 支持 VirtualBox、HyperV、VMWare 等虚拟机软件，
我安装的是 VirtualBox(因为其他的要么新系统装不上要么收费比如 VMWare)&lt;/p&gt;
&lt;h3 id="安装"&gt;安装&lt;/h3&gt;
&lt;p&gt;下载 VirtualBox 安装这个比较简单就和装普通的软件一样，下载安装包安装也无需配置甚至都不用打开。&lt;/p&gt;

&lt;p&gt;然后安装 Vagrant&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install vagrant
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装好之后我们来安装 ubuntu18.04 的服务器版本 (体积小)
&lt;a href="http://www.vagrantbox.es/" rel="nofollow" target="_blank" title=""&gt;更多系统镜像点击这里&lt;/a&gt;
这个地址的镜像都比较老旧了所以这次我去官网查到了最新的镜像
&lt;a href="https://app.vagrantup.com/generic/boxes/ubuntu1804" rel="nofollow" target="_blank" title=""&gt;ubuntu18.04LTS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;为了方便管理虚拟机的开发环境 共享文件夹还有配置文件等等，我这里在 mac 的 home 目录下新建了一个共享文件夹就叫&lt;code&gt;vagrant&lt;/code&gt; home 目录下执行&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir &lt;/span&gt;vagrant
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建好之后&lt;code&gt;cd&lt;/code&gt;进到目录中创建虚拟机配置文件 &lt;code&gt;Vagrantfile&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;vagrant
vim Vagrantfile
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;填入如下内容&lt;/p&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;Vagrant&lt;/span&gt;.&lt;span class="n"&gt;configure&lt;/span&gt;(&lt;span class="m"&gt;2&lt;/span&gt;) &lt;span class="n"&gt;do&lt;/span&gt; |&lt;span class="n"&gt;config&lt;/span&gt;|
  &lt;span class="c"&gt;# 选择系统镜像
&lt;/span&gt;  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;box&lt;/span&gt; = &lt;span class="s2"&gt;"generic/ubuntu1804"&lt;/span&gt;
  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;box_check_update&lt;/span&gt; = &lt;span class="n"&gt;false&lt;/span&gt;
  &lt;span class="c"&gt;# 时区设置
&lt;/span&gt;  &lt;span class="n"&gt;if&lt;/span&gt; &lt;span class="n"&gt;Vagrant&lt;/span&gt;.&lt;span class="n"&gt;has_plugin&lt;/span&gt;?(&lt;span class="s2"&gt;"vagrant-timezone"&lt;/span&gt;)
    &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;timezone&lt;/span&gt;.&lt;span class="n"&gt;value&lt;/span&gt; = &lt;span class="s2"&gt;"Asia/Shanghai"&lt;/span&gt;
  &lt;span class="n"&gt;end&lt;/span&gt;
  &lt;span class="c"&gt;# 固定IP 的私有网络 外部不可访问
&lt;/span&gt;  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;network&lt;/span&gt; &lt;span class="s2"&gt;"private_network"&lt;/span&gt;, &lt;span class="n"&gt;ip&lt;/span&gt;: &lt;span class="s2"&gt;"192.168.50.4"&lt;/span&gt;
  &lt;span class="c"&gt;# 这是对于虚拟机共享文件夹的配置
&lt;/span&gt;  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;synced_folder&lt;/span&gt; &lt;span class="s2"&gt;"."&lt;/span&gt;, &lt;span class="s2"&gt;"/vagrant"&lt;/span&gt;, &lt;span class="n"&gt;type&lt;/span&gt;: &lt;span class="s2"&gt;"nfs"&lt;/span&gt;, &lt;span class="n"&gt;disabled&lt;/span&gt;: &lt;span class="n"&gt;true&lt;/span&gt;
  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;synced_folder&lt;/span&gt; &lt;span class="s2"&gt;"~/vagrant"&lt;/span&gt;, &lt;span class="s2"&gt;"/vagrant"&lt;/span&gt;, &lt;span class="n"&gt;type&lt;/span&gt;: &lt;span class="s2"&gt;"nfs"&lt;/span&gt;, &lt;span class="n"&gt;mount_options&lt;/span&gt;: [&lt;span class="s2"&gt;"nolock"&lt;/span&gt;, &lt;span class="s2"&gt;"vers=3"&lt;/span&gt;, &lt;span class="s2"&gt;"udp"&lt;/span&gt;, &lt;span class="s2"&gt;"noatime"&lt;/span&gt;, &lt;span class="s2"&gt;"actimeo=1"&lt;/span&gt;]

  &lt;span class="c"&gt;# 虚拟机配置 内存 cpu 等
&lt;/span&gt;  &lt;span class="n"&gt;config&lt;/span&gt;.&lt;span class="n"&gt;vm&lt;/span&gt;.&lt;span class="n"&gt;provider&lt;/span&gt; &lt;span class="s2"&gt;"virtualbox"&lt;/span&gt; &lt;span class="n"&gt;do&lt;/span&gt; |&lt;span class="n"&gt;vb&lt;/span&gt;|
    &lt;span class="n"&gt;vb&lt;/span&gt;.&lt;span class="n"&gt;memory&lt;/span&gt; = &lt;span class="m"&gt;2048&lt;/span&gt;
    &lt;span class="n"&gt;vb&lt;/span&gt;.&lt;span class="n"&gt;cpus&lt;/span&gt; = &lt;span class="m"&gt;2&lt;/span&gt;
  &lt;span class="n"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;保存退出&lt;/p&gt;

&lt;p&gt;这些配置都配置好之后就可以在 vagrant 文件夹下使用命令&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant up
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;来启动虚拟机并会自动从网上下载 ubuntu18.04 的镜像
这个过程我们需要等待。&lt;/p&gt;

&lt;p&gt;启动好了之后可以通过 ssh 登录到虚拟机并且 可以额设置通过 ssh key 登录 就和一台普通的服务器是一样的&lt;/p&gt;

&lt;p&gt;也可以在 mac 写入 alias&lt;/p&gt;

&lt;p&gt;在 &lt;code&gt;~/.zshrc&lt;/code&gt;(如果是 bash 请加入 ~/.bashrc) 中加入
&lt;code&gt;alias va='ssh vagrant@ubuntu.com'&lt;/code&gt;
这样以后就可以快速的使用 &lt;code&gt;va&lt;/code&gt; 命令进入虚拟机，当你在虚拟机启动了某项目 让你访问 &lt;code&gt;0.0.0.0:3000&lt;/code&gt;端口时 你可以通过之前的配置访问 &lt;code&gt;192.168.50.4:3000&lt;/code&gt;来访问也可以通过修改
&lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;加入&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.50.4    ubuntu.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样你就可以在 mac 浏览器使用 &lt;code&gt;ubuntu.com:3000&lt;/code&gt; 来访问虚拟机的 &lt;code&gt;0.0.0.0:3000&lt;/code&gt;地址&lt;/p&gt;
&lt;h3 id="虚拟机内部配置"&gt;虚拟机内部配置&lt;/h3&gt;
&lt;p&gt;我在 mac 上习惯了使用 zsh + oh-my-zsh 来工作，那么在 ubuntu 这里也是一样可以使用的甚至当在虚拟机中使用了同样的样式之后你都分辨不出你是在虚拟机中或是在 mac 中，所以还是建议使用不同的主题或者带有目录前缀的这种主题，这样一看主题你就知道你在什么位置了。&lt;/p&gt;

&lt;p&gt;在 ubuntu 中也是可以访问 mac 的比如 现在 mac 的网段就是&lt;code&gt;192.168.50.1&lt;/code&gt; 也可以用同样的手法修改 ubuntu 的
&lt;code&gt;etc/hosts&lt;/code&gt; 将 mac 改为&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.50.4  mac.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样在 ubuntu 下跑的服务数据库连接可以使用&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;database:
  name: root
  password:
  host: mac.com
  port: 3306
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样的配置来连接 mac 下的数据库 (前提是 mac 下的数据库先开启允许远端访问哦)&lt;/p&gt;

&lt;p&gt;然后剩下的就是在虚拟机这里搭建你所需要的开发环境，将代码文件夹放置于共享文件夹中，mac 上使用你喜欢的编辑器编辑共享文件夹内的代码，而虚拟机负责运行起代码，mac 来提交代码。&lt;/p&gt;
&lt;h3 id="备份镜像"&gt;备份镜像&lt;/h3&gt;
&lt;p&gt;在你将开发环境和配置都搭建好之后可以将自己搭建好的环境作为一个镜像输出出来，以后自己新建另一个虚拟机或是分配给新来的开发伙伴直接使用免于重新搭建都是可以的。
使用命令&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant package --output boxname.box
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;就可以将现在运行的环境打包为一个镜像&lt;/p&gt;

&lt;p&gt;如果下次想要使用可以使用&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant add box box 名字 box地址
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;虚拟机这里基本就是这些内容了，但是如果使用 ruby on rails 开发 web 项目那么还有几点稍微补充一下，我这里使用 rvm + ruby 开发，其他都是比较正常的按照 ruby-china 的教程你就可以搭建出开发环境这里掠过，要说的一点事首先 rails console 的中文问题&lt;/p&gt;

&lt;p&gt;需要使用一条命令解决&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export LC_CTYPE=en_US.UTF-8
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后是 rails 开发在修改了 controller 代码时 rails(spring) 无法获取到代码的修改事件从而导致你需要重启项目才能重新加载变更内容 (view 部分不受影响)&lt;/p&gt;

&lt;p&gt;rails4 项目可以采用安装插件的方式解决
在 vagrant 共享文件夹下执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-librarian-chef-nochef
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装好插件之后 执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant reload
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重启虚拟机&lt;/p&gt;

&lt;p&gt;但是这个方法亲测在 rails 5.2 中是无效的 不知道 rails5 其他版本是否也是无效，由于这个原因导致要么使用 vim 编程要么就开发的时候修改了控制器就要重启项目，如果真的是这样就已经和 mac 下体验差距过大了，还好现在 vscode 编辑器支持 remote-ssh 编程，也就是说在 mac 下使用 vscode 编辑器并安装 remote-ssh 插件之后可以远程虚拟机中编辑代码，实测在连接项目后延迟几乎感觉不到 (可能是由于就在本地的缘故)，几乎和本地开发体验一致，并且也保证了虚拟机的独立性从此算是虚拟机开发圆满成功。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://rails365.oss-cn-shenzhen.aliyuncs.com/uploads/photo/image/1545/2019/d2b5ca33bd970f64a6301fa75ae2eb22.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="总结"&gt;总结&lt;/h3&gt;
&lt;p&gt;在 mac 下虚拟机开发根据自己的喜好添加，甚至如果自己的配置够高可以 尝试搭建多个虚拟机来模拟集群，由于各自独立的环境也可以模拟多台服务器场景。还有更多玩法等待你去挖掘。&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Mon, 24 Jun 2019 18:57:06 +0800</pubDate>
      <link>https://ruby-china.org/topics/38732</link>
      <guid>https://ruby-china.org/topics/38732</guid>
    </item>
    <item>
      <title>使用虚拟机开发修改文件后要重启 rails s 才能发生变化</title>
      <description>&lt;p&gt;之前的帖子有看过 &lt;a href="https://ruby-china.org/topics/32632" rel="nofollow" target="_blank"&gt;https://ruby-china.org/topics/32632&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;现在是 html 内容修改后可以直接变化但是 controller 和 model 不行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-librarian-chef-nochef
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;尝试了上面两个插件，但是安装后依然没有解决这个 spring 监控共享文件夹文件变更事件的问题&lt;/p&gt;

&lt;p&gt;实际测试了一下 rails4 可以监听到修改事件，但是 rails5 监听不到&lt;/p&gt;

&lt;p&gt;之前这个问题是 2 年前提出的不知道 2019 年的今天有没有什么新进展&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Thu, 20 Jun 2019 14:28:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/38701</link>
      <guid>https://ruby-china.org/topics/38701</guid>
    </item>
    <item>
      <title>Bundler 2.0.1 install 时会出现不兼容事件 各位是如何处理的</title>
      <description>&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2019/04630b49-ed09-4b4e-aac5-9232b310eb36.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;我的 gemfile.lock 文件不可修改，本地 bundler 版本是 2.0.1 bundle 时会出现安装失败等问题&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2019/c1062799-8c76-49c3-92c7-96cb27eaa730.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;类似这样的问题，以前我都是要么把 bundler 降回去，又或者把 lock 删除重新 bundle 但是这样会导致代码变更 lock 文件&lt;/p&gt;

&lt;p&gt;想知道在 bundler2.0.1 版本时是否可以正常安装 bundler 1.x 版本的项目&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Tue, 11 Jun 2019 13:19:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/38628</link>
      <guid>https://ruby-china.org/topics/38628</guid>
    </item>
    <item>
      <title>我的黑苹果终于完美了</title>
      <description>&lt;h3 id="2021年1月19日更新"&gt;2021 年 1 月 19 日更新&lt;/h3&gt;
&lt;p&gt;前两天同事需要装一套黑苹果，由于公司提供的 macmini2018-i3-8G 性能过于弱小，
当这台主机接入 4K 显示器时竟然能明显的感觉到卡顿，看来核显还是弱了点。
上网一查显卡价格贵的离谱，我原先 1500 左右买的 RX590 现在二手都涨到 2000 多了，
莫非这就是传说中的理财产品？&lt;/p&gt;

&lt;p&gt;最终我们放弃了现阶段搞黑苹果的打算，不过我自己购入了 FV-T919(BCM94360CD),
注意的是无线网卡需要一个 pcieX1 插槽，我的 B360M 主板由于显卡太厚了占用了 2.5 个槽位，
而且我由于插入了 2 个 m.2 ssd 导致最下方的 PCIEX8 实际是不可用的，大家搞之前注意兼容性。
至此免驱了 wifi，而且还可以愉快的使用 airdrop 了。&lt;/p&gt;
&lt;h3 id="2019年6月10日更新"&gt;2019 年 6 月 10 日更新&lt;/h3&gt;
&lt;p&gt;之前系统做好后淘宝技术告诉我电脑不要睡眠容易睡死，我一直睡眠使用没啥事，端午节假期睡了三天，我回去发现已经重启了，然后引导可以进去但是黑果一进去就黑屏，自己在 win 上瞎捅咕还给 bcd 误删导致 win 也进不去了，但是引导还在。我重装了 win 后，通过引导能够进入黑果和 win 了，数据没有丢失，一切还是睡眠时的样子 万幸，毕竟如果数据丢失重装费时费力。所以还是别作死睡眠了，下班要么就让他一直在那开机，关显示器，要不就关机。&lt;/p&gt;
&lt;h3 id="2019年5月8日更新"&gt;2019 年 5 月 8 日更新&lt;/h3&gt;
&lt;p&gt;换了 LG 4K IPS 显示器，显示效果和 15 寸的 mbp 效果差不多了，成本 2099 元，618 京东这款显示器 1799 感觉自己亏了一个亿&lt;/p&gt;
&lt;h3 id="2019-04-28更新"&gt;2019-04-28 更新&lt;/h3&gt;
&lt;p&gt;目前使用了一段时间&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;app store 使用正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;睡眠唤醒正常，后续验证长时间睡眠会睡死&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;声卡正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;显卡正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;蓝牙安装了一个 USB 蓝牙正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt; &lt;del&gt;台式机我连网线但是我安装了一个 TP_link300m USB 无线网卡正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt;&lt;/del&gt;
&lt;/li&gt;
&lt;li&gt;安装了一个 FV-T919(BCM94360CD) 无线网卡正常可以 airdrop&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;iTunes 正常&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;安装 ruby 开发环境基本和 MBP 安装一样的套路&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;安装了一个 office2019(新系统无法使用 2016)&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;安装了一个 PS(虽然我不会用我就是装上试试看)&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;安装了 final cut pro(破解版，我也不会用就是试试看)&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;air drop 貌似不可用虽然我有一个 USB 无线网卡&lt;img title=":negative_squared_cross_mark:" alt="❎" src="https://twemoji.ruby-china.com/2/svg/274e.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;li&gt;睡眠再唤醒也是可以的&lt;img title=":white_check_mark:" alt="✅" src="https://twemoji.ruby-china.com/2/svg/2705.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;不过么我现在已经是 24 小时不关机了 大概半个月了 emmm 用 mac 的人是不是也和我一样
有了不关机的坏 (good) 习惯呢？可惜我没有 4K 显示器不然可以试试是不是 3 个 DP 口输出 3 台 4K 显示呢。&lt;/p&gt;
&lt;h3 id="2019-04-17更新"&gt;2019-04-17 更新&lt;/h3&gt;
&lt;p&gt;由于最近内存条价格比较低，又购入了 2 条幻光戟，emmm 插满！！！
这中间出现了一点问题就是这个 T400CPU 散热比较宽占用了一部分内存的插槽，
由于幻光戟内存很高挡住了，这里把 T400 的风扇往上提了一些刚刚够放下内存。&lt;/p&gt;
&lt;h3 id="展示"&gt;展示&lt;/h3&gt;&lt;h4 id="机箱侧面"&gt;机箱侧面&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://rails365.oss-cn-shenzhen.aliyuncs.com/uploads/photo/image/1409/2019/d2b5ca33bd970f64a6301fa75ae2eb22.png" title="" alt=""&gt;&lt;/p&gt;


&lt;h4 id="系统信息"&gt;系统信息&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://rails365.oss-cn-shenzhen.aliyuncs.com/uploads/photo/image/1368/2019/6d15952ab07475b42f890b5f4e16198f.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="背景"&gt;背景&lt;/h3&gt;
&lt;p&gt;一直做 ruby 开发使用 mac，由于之前的主力开发机是一台 macbookpro 2013 早期的顶配版本 (i7 3610QM + 16G ddr3 1600 + 256G 固态)，虽然现在使用依然是没什么问题的，但是人类毕竟是喜新厌旧 (其实性能已经并不算很快了) 的想要提升一下硬件，而且也算是满足我想玩黑苹果的心吧。&lt;/p&gt;
&lt;h3 id="第一次装机经历"&gt;第一次装机经历&lt;/h3&gt;
&lt;p&gt;在这之前呢我查阅了很多的资料包括黑苹果配置，做了一些功课，然后再我家里使用的一台 16 年淘宝购入的整机上做测试（除了声卡开机有音爆以外）是可以稳定运行的，并且搭建了开发环境在家作为偶尔加班的开发机和游戏机双系统
主要配置如下：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CPU: i5 6500&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;主板：七彩虹 B150M&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;内存：金士顿 2133 8G * 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;显卡：GTX950 2G&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;固态：金泰克 120G SATA3&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;机械：希捷 1T 绿盘&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;电源：鑫谷额定 300W&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;机箱：爱国者&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;散热：原装下压式散热 + 12CM 风扇 * 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2016 年合计 3800&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;由于在这之前 windows 搭建在了固态上，所以这次把 macos 搭建在了机械硬盘位，分区 300G 给系统，安装完之后由于是机械硬盘所以使用起来是不如 macbookpro 的固态的，其他功能正常。我本人比较懒找的淘宝黑苹果远程装机 130 元就搞定了，不好的地方就是刚开始安装的时候主板输出到核心显卡，而我显示器插得独显所以一开始黑屏浪费了不少时间。&lt;/p&gt;
&lt;h3 id="本次装机准备"&gt;本次装机准备&lt;/h3&gt;
&lt;p&gt;有了第一次的装机之后我知道黑苹果系统也可以很稳定完全可以当做主力机来工作，而且由于其配件的价格对比 macbookpro 或者 imac 有一定的优势 (主要还是白苹果太贵了 - -)，可定制化也很强（比如加硬盘，内存这种操作很简单）为后续的加配置也算留有余地。由于新款的 imac 大多采用了 A 卡，所以新系统对于部分型号的 A 卡是免驱的，小伙伴如果想要组装最新系统的黑苹果要选择 A 卡。&lt;/p&gt;

&lt;p&gt;由于本次选用的 CPU 是当前性价比最高的 9400F，它相对于 AMD cpu 安装黑苹果更加稳定可靠，毕竟苹果笔记本和 imac 也都是使用了 intel 的 cpu。&lt;/p&gt;

&lt;p&gt;主板其实本来打算技嘉 B360 M AORUS PRO“小雕”，传闻苹果很多主机的主板都是由技嘉代工的所以兼容性没有问题，而且考虑到以后有可能要升级 CPU 为 8700，此款主板配合 8700 CPU 是不会降频的，但是由于装机时找的朋友他那里暂时没有这个，所以就找了同样非常不错的微星 B360M 迫击炮，同样可以黑苹果并且上 8700 不会降频。&lt;/p&gt;

&lt;p&gt;内存选择本来是不应该选择芝奇幻光戟 C16 3000 的，因为这款主板内存的频率最高只能支持到 2666Mhz，但是由于芝奇幻光戟 RGB 太帅了 emmm😀，如果不喜欢光污染换两条金士顿骇客神条 2666 估计能省 200 多，而且这两条内存带的散热装甲过高所以现在内存条有一个插槽是无法插内存的会和 CPU 散热风扇冲突这点值得注意。&lt;/p&gt;

&lt;p&gt;固态采用了双固态一个给 windows，一个给 mac 系统两不耽误，而且这款主板支持 2 个 M.2 接口的固态正好，相比 SATA3 接口 m.2(nvme) 更快，值得注意的是如果装双系统 windows 要采用 UEFI 安装，这样才能正确引导黑苹果。&lt;/p&gt;

&lt;p&gt;主要配置如下：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CPU: i5 9400F(无核显)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;主板：微星 B360M 迫击炮&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;内存：芝奇幻光戟 C16 3000 8G * 4&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;显卡：蓝宝石 RX590 8G 海外版&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;固态：影驰 铁甲战将 240G m.2(nvme 协议) 装 win10 + mac 引导和数据恢复&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;固态：西部数据 SN750 黑盘 250G m.2(nvme 协议) 装 macos 10.14.4&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;机械：无&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;电源：航嘉 GX600 白牌&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;机箱：TTF1&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;散热：九州风神玄冰 400 + 九州风神魔环 * 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;手办：雪之下雪乃、卧姿蕾姆&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;总计：6800 元&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="最后要说的话"&gt;最后要说的话&lt;/h3&gt;
&lt;p&gt;如果小伙伴对苹果系统有需求或者想体验一下可以尝试，配置选好是关键，选好了装系统都是水到渠成，wifi 和蓝牙可以上网查苹果免驱版 pcie 接口的。如果是工作需要也是可以考虑的，要注意主机不比 macbookpro，它没有很好的便携性，如果是做设计或者视频剪辑对显示器有要求可以上 4K（显卡要好），如果什么都不懂还是老老实实的查，如果和我一样懒或者比我更懒不想在这方面浪费时间，可以尝试把精力都用来学习专业知识赚更多的钱，直接买白苹果毕竟白苹果的体验是最好的。保持好心态加油。&lt;/p&gt;</description>
      <author>kevinyu</author>
      <pubDate>Sun, 28 Apr 2019 17:07:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/38459</link>
      <guid>https://ruby-china.org/topics/38459</guid>
    </item>
    <item>
      <title>只有我一个人觉得新版微信很舒服么</title>
      <description>&lt;blockquote&gt;
&lt;p&gt;在微信没更新之前看到过很多小伙伴吐槽新版微信垃圾、丑等等缺点&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;今早我手机更新了之后体验了一下并且和老版本的微信做了对比（安卓）:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;我觉得新版微信用起来非常舒服而且上方的颜色和系统统一起来没有了黑色的条子显得更加的整体；&lt;/li&gt;
&lt;li&gt;朋友圈不同位置的字体也有了粗细的变化变的醒目，图标的变化我不太懂不过也没觉得有啥大问题，朋友圈的点赞和评论合并成了一个按钮里面，回复的时候也会在输入框内提示你你正在恢复哪个人；&lt;/li&gt;
&lt;li&gt;个人中心变化较大钱包改名支付点进去后内容也差不多布局有点变化，不过常用的还是能找到不至于像支付宝那样乱搞；&lt;/li&gt;
&lt;li&gt;个人中心下来拍视频对我来说没啥用也没体验；&lt;/li&gt;
&lt;li&gt;对话列表的横线不再是贯穿式的，头像下方没有横线了；&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;总体来看还是不错的啊不知道大家为什么都在喷。当然我本人并不擅长什么设计一类的完全是以一个普通人的视角看待的，不对之处还请谅解，欢迎大家说一下自己的想法&lt;img title=":grin:" alt="😁" src="https://twemoji.ruby-china.com/2/svg/1f601.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;/ul&gt;</description>
      <author>kevinyu</author>
      <pubDate>Wed, 02 Jan 2019 12:32:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/37964</link>
      <guid>https://ruby-china.org/topics/37964</guid>
    </item>
  </channel>
</rss>
