<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>reducm (JAS)</title>
    <link>https://ruby-china.org/reducm</link>
    <description>这家伙很懒，什么都吃</description>
    <language>en-us</language>
    <item>
      <title> [广州] 前海易物公司招聘初级 / 中级 Ruby 工程师 201910</title>
      <description>&lt;h2 id="[广州] 前海易物公司招聘初级/中级 Ruby工程师 201910"&gt;[广州] 前海易物公司招聘初级/中级 Ruby 工程师 201910&lt;/h2&gt;&lt;h2 id="公司团队介绍"&gt;公司团队介绍&lt;/h2&gt;
&lt;p&gt;前海易物 (深圳) 电子商务有限公司成立于 2016 年，是一家承载多元化平台的互联网公司，秉持着为对品质生活有追求的人群提供精准的服务的初心，致力于打造互联网专业顶级的服务平台。公司缘起于几位资深的电商人所积累的大型集团客户及产品资源，致力于为企业提供解决内部行政采购及员工福利的优质服务，而打造出【易物网】的内购平台。后通过创始人的宽阔的视野以及战略规划，不断孵化出新的项目：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://m.justjiang.com/#/?VNK=72fc292e" rel="nofollow" target="_blank" title=""&gt;JUST 匠&lt;/a&gt;: 链接匠人、设计师与用户的服务平台。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.yiwuzhibo" rel="nofollow" target="_blank" title=""&gt;小象直播&lt;/a&gt;—让更多的个体用特长和技能改变生活。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://wap.pp.cn/app_z5qOcxYWgcxD/" rel="nofollow" target="_blank" title=""&gt;爱回馈&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;目前技术团队服务端主要用到的语言是 Ruby 与 Node.js(Eggjs)。前端技术现在以 React/Vue 为主。&lt;/p&gt;

&lt;p&gt;P.S 其他的公司信息：1) 目前公司在新港东北岛创意园（广州市海珠区新港东路北岛创意园 c4 楼 3318 文创中心），靠近江边环境十分舒适。地铁到万胜围坐两个站的公交，公司自己有巴士接送到地铁站，上车时间早上为：9:15 2）目前公司上班时间是早上 9:30-晚上 6:30, 大小周。其他公司环境请看文末图片&lt;/p&gt;

&lt;p&gt;这次招聘是服务 JUST 匠为主。&lt;/p&gt;
&lt;h2 id="招聘需求"&gt;招聘需求&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ruby 开发工程师 (初级)  8k-12k&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;欢迎应届毕业生&lt;/li&gt;
&lt;li&gt;1 年或以上 Ruby 开发经验 (或 Python Node.js PHP 等其他开发语言经验)&lt;/li&gt;
&lt;li&gt;熟悉常用 gem 的使用&lt;/li&gt;
&lt;li&gt;熟悉关系型数据库 MySQL，了解非关系型数据库。(加分：PostgreSQL)&lt;/li&gt;
&lt;li&gt;了解你前端 HTML/CSS/JS(加分：熟悉 Webpack/Vue 等前沿开发技术)&lt;/li&gt;
&lt;li&gt;了解测试用例&lt;/li&gt;
&lt;li&gt;熟悉 Git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ruby 开发工程师 (中级) 13k-18k&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 年或以上 Ruby 开发经验 (或 Python Node.js PHP 等其他开发语言经验)&lt;/li&gt;
&lt;li&gt;熟悉常用 gem 的使用&lt;/li&gt;
&lt;li&gt;熟悉关系型数据库 MySQL，熟悉 PostgreSQL&lt;/li&gt;
&lt;li&gt;了解非关系型数据库如 MongoDB&lt;/li&gt;
&lt;li&gt;熟悉 Redis&lt;/li&gt;
&lt;li&gt;熟悉部署流程&lt;/li&gt;
&lt;li&gt;了解 Docker 等容器化技术&lt;/li&gt;
&lt;li&gt;了解消息队列技术&lt;/li&gt;
&lt;li&gt;熟悉前端 HTML/CSS/JS(加分：熟悉 Webpack/Vue 等前沿开发技术)&lt;/li&gt;
&lt;li&gt;熟悉 Rspec 等白盒测试&lt;/li&gt;
&lt;li&gt;熟悉 Git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;简历请发到 jas@justjiang.com&lt;/p&gt;

&lt;p&gt;环境
&lt;img src="https://l.ruby-china.com/photo/2018/775dd74b-2527-48f2-a0d7-5dc0d627e75f.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/9c38c049-39df-4027-a1ae-340f839a738c.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/7ccaae29-ecf3-4814-9d79-2e0c5092f3d1.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/81aebb92-5247-43c2-8408-f82a0ee11c17.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/86b75e61-22cc-4e5d-9770-93b4c3838a44.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/9d188040-afe0-4850-b1c1-88ba708f4af1.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/36501e01-8c8f-470f-bcdd-8f9a0432117a.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/5cbff9ce-8126-4776-b2fb-9a0b5c3d5504.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2019/a17ffbc4-1267-429e-a0c3-e8c2a0baf3ad.jpeg!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Tue, 29 Oct 2019 19:51:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/39197</link>
      <guid>https://ruby-china.org/topics/39197</guid>
    </item>
    <item>
      <title>[广州] 前海易物公司招聘 2 初级中级 Ruby/ 前端 /iOS 工程师 (电商、直播) </title>
      <description>&lt;h2 id="[广州] 前海易物公司招聘2初级中级Ruby/前端/iOS 工程师(电商、直播) 10k-20k"&gt;[广州] 前海易物公司招聘 2 初级中级 Ruby/前端/iOS 工程师 (电商、直播) 10k-20k&lt;/h2&gt;&lt;h2 id="公司团队介绍"&gt;公司团队介绍&lt;/h2&gt;
&lt;p&gt;前海易物 (深圳) 电子商务有限公司成立于 2016 年，是一家承载多元化平台的互联网公司，秉持着为对品质生活有追求的人群提供精准的服务的初心，致力于打造互联网专业顶级的服务平台。公司缘起于几位资深的电商人所积累的大型集团客户及产品资源，致力于为企业提供解决内部行政采购及员工福利的优质服务，而打造出【易物网】的内购平台。后通过创始人的宽阔的视野以及战略规划，不断孵化出新的项目：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://m.justjiang.com/#/?VNK=72fc292e" rel="nofollow" target="_blank" title=""&gt;JUST 匠&lt;/a&gt;: 链接匠人、设计师与用户的服务平台。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.yiwuzhibo" rel="nofollow" target="_blank" title=""&gt;小象直播&lt;/a&gt;—让更多的个体用特长和技能改变生活。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;目前技术团队服务端主要用到的语言是 Ruby，团队过去的项目中也用过 Node.js/Go/Elixir，基本服务端的小伙伴们都是前后兼施，前端水平都不错。前端技术现在以 React/Vue 为主，也用到挺多 ES7 的新特性。另外一提我们的 App 也大量用到 React Native。我们的风格是希望加入到技术团队里的小伙伴们，都能通过学习成为多面手，进而得到更好的个人成长。这次招聘的目标，主要也是服务于 JUST 匠和小象直播。&lt;/p&gt;

&lt;p&gt;P.S 其他的公司信息：1) 目前公司在新港东北岛创意园（广州市海珠区新港东路北岛创意园 c4 楼 3318 文创中心），靠近江边环境十分舒适。地铁到万胜围坐两个站的公交，公司自己有巴士接送到地铁站，上车时间早上为：8:45,9:15,9:40，下午为：18:20,18:50,19:20。2）目前公司上班时间是早上 9:30-晚上 6:30, 大小周。其他公司环境请看文末图片&lt;/p&gt;
&lt;h2 id="招聘需求"&gt;招聘需求&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ruby 初级/中级工程师 (10k-20k 2-3 人)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 年或以上 Ruby on Rails 开发经验 (或 Python Node.js 其他脚本语言服务端开发经验)&lt;/li&gt;
&lt;li&gt;了解 Ruby 元编程&lt;/li&gt;
&lt;li&gt;熟悉常用 gem 的使用&lt;/li&gt;
&lt;li&gt;熟悉关系型数据库 MySQL，了解非关系型数据库。(加分：PostgreSQL)&lt;/li&gt;
&lt;li&gt;熟悉前端 HTML/CSS/JS(加分：熟悉 Webpack/Vue 等前沿开发技术)&lt;/li&gt;
&lt;li&gt;了解测试用例&lt;/li&gt;
&lt;li&gt;熟悉 Git&lt;/li&gt;
&lt;li&gt;欢迎应届毕业生&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;前端工程师 (8k-15k 1-2 人)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 年以上前端开发经验&lt;/li&gt;
&lt;li&gt;html/js/css基础扎实，熟悉网站页面架构和布局&lt;/li&gt;
&lt;li&gt;熟悉网页跨浏览器和跨平台的兼容性问题，了解高性能网站优化方法&lt;/li&gt;
&lt;li&gt;熟悉 React 或 Vue.js 等前端框架&lt;/li&gt;
&lt;li&gt;熟悉 Webpack 等构建工具，有 nodejs 开发经验者优先&lt;/li&gt;
&lt;li&gt;欢迎应届毕业生&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;iOS 工程师 (10k-18k 2-3 人)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2-3 年以上移动平台开发经验；&lt;/li&gt;
&lt;li&gt;熟练使用 Objective C 语言，具备主流开源组件使用经验； &lt;/li&gt;
&lt;li&gt;熟悉 iPhone 平台的开发特点和网络通信模型&lt;/li&gt;
&lt;li&gt;熟悉 Xcode，UIKit，Cocoa Touch；&lt;/li&gt;
&lt;li&gt;精通 iOS 下的多线程、网络、内存管理、UI 开发； &lt;/li&gt;
&lt;li&gt;已在 App Store 发布过作品者优先；&lt;/li&gt;
&lt;li&gt;有过跨平台开发经验，熟悉 React-Native 及 Redux 优先；&lt;/li&gt;
&lt;li&gt;思路清晰，善于思考，能独立分析和解决问题；责任心强，具备良好的团队合作精神和承受压力的能力；&lt;/li&gt;
&lt;li&gt;熟悉软件工程，具有良好的代码编写规范和书写文档的习惯；&lt;/li&gt;
&lt;li&gt;有很强的自学能力，喜欢钻研技术。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;另外公司其他团队也在招 JAVA、Android、测试、产品和 UI 等，有兴趣的同学可以到拉钩搜索我们公司查看相关职位描述。&lt;/p&gt;

&lt;p&gt;简历请发到 jas@justjiang.com&lt;/p&gt;

&lt;p&gt;环境
&lt;img src="https://l.ruby-china.com/photo/2018/775dd74b-2527-48f2-a0d7-5dc0d627e75f.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/9c38c049-39df-4027-a1ae-340f839a738c.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/7ccaae29-ecf3-4814-9d79-2e0c5092f3d1.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/81aebb92-5247-43c2-8408-f82a0ee11c17.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/86b75e61-22cc-4e5d-9770-93b4c3838a44.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/9d188040-afe0-4850-b1c1-88ba708f4af1.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/36501e01-8c8f-470f-bcdd-8f9a0432117a.jpeg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/5cbff9ce-8126-4776-b2fb-9a0b5c3d5504.jpeg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;​&lt;br&gt;
​ &lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Wed, 28 Mar 2018 18:22:22 +0800</pubDate>
      <link>https://ruby-china.org/topics/35349</link>
      <guid>https://ruby-china.org/topics/35349</guid>
    </item>
    <item>
      <title>Rails 5.1 使用 yarn 和 webpack 实战 (vue, 构建等)</title>
      <description>&lt;p&gt;之前就有听到 Rails 5.1 会迎来大更新，主题是 Loving Javascript，并会迎来 yarn 和 webpack，目前前端小伙伴们最强大的工具。相信稍有关注前端发展的同学，均听过当今前端圈子里流行的种种名词：&lt;code&gt;es6 es7 vue react react-native cs-modules等等&lt;/code&gt;, 因为 node 的出现，良好的包管理、服务端渲染等等新特性，另得前端的同学们写的代码在执行前有了更多的构建方式和选择，前端发展空前繁荣。然而，作为走在 web 开发提供最佳实践的 Rails，直到 5.0 的版本，还是用着 3.1 版本时出现 assets pipeline 作为前端文件包管理，虽然有不少贡献者提供诸如&lt;code&gt;browserify-rails vue-rails&lt;/code&gt;等等的 gem，企图为 Rails 带来多少便利，但仍难改变 Gem 方式管理前端库的更新不及时、es6/es7 新特性难支持，构建不灵便等缺陷。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://yueren.io" rel="nofollow" target="_blank" title=""&gt;我司&lt;/a&gt;最近其中两个项目&lt;a href="http://www.balabalafun.com" rel="nofollow" target="_blank" title=""&gt;霸屏&lt;/a&gt; 和 &lt;a href="http://yanxuan.yueren.io" rel="nofollow" target="_blank" title=""&gt;电商&lt;/a&gt;，一个用到 vue，一个是要求用 react，正是前端交互均比较复杂的例子，使用 webpack 去做构建都是必须的。公司前端的小伙新技术玩得很溜，但这两个项目在开发期需要到服务端很多的交互数据去调试，最初后端和前端拆分开在两个项目里写，后来项目时间的原因后端的同学也加入到写前端代码，写完后后端同学拖代码再各种合并部署到 staging 测试，中间出现 bug 调试再上线再测试，浪费了不少时间，最后不得已地又把前端代码移到 rails，又花了不少时间做项目构建，手动把 webpack 和 Rails 前端管理体系结合，什么编译完后各种跑各种复制啊，前端里也要做环境区分啊，苦不堪言。&lt;/p&gt;

&lt;p&gt;现在 Rails 5.1 出来后，一切都过去了！yarn 解决了 js 之前模块交叉依赖、版本混乱和重复加载的问题，强大的构建工具 webpack，能帮助你处理文件依赖，按需加载，还有强大的 webpack-dev-server，你所能想到当前大部分前端构建和优化的问题，它有很好的解决方案。并且，它俩现在也能跟 Rails 很好的结合在一起了！&lt;/p&gt;

&lt;p&gt;当然引入新的解决方案，也会带来新的问题。例如 es6 的语法，webpack 的配置等，都会带来新的学习成本。你可能会说为啥前端要搞得那么复杂吧，但他们也是切切实实解决了很多实际问题，优化了过去很多的不足。本文不会去深入讲 webpack es6 等前端范畴的技术细节，webpack es6 react 等，推荐大家可以去看看阮一峰老师的各种教程，深入浅出。文章引用了&lt;a href="Webpacker" title=""&gt;官方 Webpacker gem&lt;/a&gt;, 本人水平有限，有问题请大家及时指出。&lt;/p&gt;
&lt;h2 id="Rails 5.1 配置Webpack"&gt;Rails 5.1 配置 Webpack&lt;/h2&gt;
&lt;p&gt;Rails5.1 新项目使要使用 webpack，只需要执行&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gem &lt;span class="nb"&gt;install &lt;/span&gt;rails &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s1"&gt;'5.1'&lt;/span&gt;
rails new &lt;span class="o"&gt;[&lt;/span&gt;your_project] &lt;span class="nt"&gt;--webpack&lt;/span&gt;
&lt;span class="c"&gt;#也可以 rails new [your_project] --webpack=react 直接装上react&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;楼主是从旧项目升级，新开个 rails5 的 git 分支，项目是从&lt;code&gt;4.2&lt;/code&gt;升级到&lt;code&gt;5.1&lt;/code&gt;, 修改 Gemfile &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'rails'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'5.1'&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'webpacker'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;执行&lt;code&gt;bundle update rails&lt;/code&gt;，可能在运行的过程中会遇到一些 rails 4.2 时例如 sass-rails, coffee-rails, rspec-rails, jbuilder 之类的依赖问题，我是比较粗暴地去掉版本号跑过。跑完后，运行&lt;code&gt;rails webpacker&lt;/code&gt;会发现 Rails 已经多了自带的各种 webpack 命令。&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;jasav% rails webpacker
Available webpacker tasks are:
webpacker:install             
webpacker:compile             
webpacker:check_node          
webpacker:check_yarn          
webpacker:verify_install      
webpacker:yarn_install        
webpacker:install:react       
webpacker:install:vue         
webpacker:install:angular
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;执行&lt;code&gt;rails webpacker:check_yarn&lt;/code&gt;，项目根目录便会多了一个&lt;code&gt;package.json&lt;/code&gt;和&lt;code&gt;yarn.lock&lt;/code&gt;文件，熟悉 node 的同学知道，这是 npm 和 yarn 会用到的包管理文件，里面还可以添加一些执行命令例如 scripts 等&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;执行&lt;code&gt;rails webpacker:install&lt;/code&gt;, 项目新建一个文件夹&lt;code&gt;config/webpack&lt;/code&gt;，里面包含了开发环境、开发环境 webpack 服务器和生产环境等设置 (对了，记得在项目的&lt;code&gt;.gitignore&lt;/code&gt;里面加入 node_modules，不然会把开发环境里的安装包都提交到项目代码里了)。同时，在 app 目录下多了个&lt;code&gt;javascript&lt;/code&gt;目录 (注意不是 app/assets/javascripts)，里面还有个&lt;code&gt;packs&lt;/code&gt;的目录，用了 webpacker 后，以后各种前端文件就写在这里了，区别于以前的&lt;code&gt;app/assets&lt;/code&gt;目录。觉得&lt;code&gt;config/webpack&lt;/code&gt;配置比较多，简单说说每个文件的作用&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="err"&gt;▾&lt;/span&gt; &lt;span class="nx"&gt;webpack&lt;/span&gt;
  &lt;span class="err"&gt;▸&lt;/span&gt; &lt;span class="nx"&gt;loaders&lt;/span&gt;  &lt;span class="c1"&gt;//各种文件预处理的模块,例如vue,coffee,assets等，下面的shared.js会require到webpack的module里头&lt;/span&gt;
    &lt;span class="nx"&gt;configuration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//主要是加载paths.yml文件，定义好项目路径，包括还指定了CDN前缀&lt;/span&gt;
    &lt;span class="nx"&gt;development&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//开发环境配置文件，看到里头合并了shared.js, 还有用到sourcemap&lt;/span&gt;
    &lt;span class="nx"&gt;development&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//开发环境下,webpack-dev-server的运行配置文件&lt;/span&gt;
    &lt;span class="nx"&gt;development&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;yml&lt;/span&gt; &lt;span class="c1"&gt;//webpack-dev-server的host,port配置文件&lt;/span&gt;
    &lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;yml&lt;/span&gt; &lt;span class="c1"&gt;//目录路径配置文件，例如制定了source是app/javascript&lt;/span&gt;
    &lt;span class="nx"&gt;production&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//生产环境配置文件&lt;/span&gt;
    &lt;span class="nx"&gt;shared&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//顾名思义叫shared.js,会被每个环境都合进去的一个主配置文件，例如要添加各种loader module, 或者添加plugin，都写在这里&lt;/span&gt;
    &lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="c1"&gt;//测试环境的配置文件&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id="开发环境下使用Webpack"&gt;开发环境下使用 Webpack&lt;/h2&gt;
&lt;p&gt;了解完 webpack 初始化后执行了的操作和生成的目录结构，下面我们来试试在开发环境里跑跑 vue&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;上面我们看到，rails 加了直接安装 vue 的 task, 执行&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails webpacker:install:vue
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;执行后我们会发现先跑了&lt;code&gt;yarn add&lt;/code&gt;的安装指令，随后&lt;code&gt;package.json&lt;/code&gt;文件多了 vue、vue-loader、vue-template-compiler 几个库，同时还贴心地在&lt;code&gt;app/javascript/packs&lt;/code&gt;里加了两个文件：app.vue 和 hello_vue.js&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来把 js 引入到我们的页面，在 assets pipeline 年代，我们写好了 css 和 js 后，会在例如&lt;code&gt;layouts/application.html.erb&lt;/code&gt;加入&lt;code&gt;&amp;lt;%= stylesheet_link_tag 'xxx' %&amp;gt;&lt;/code&gt;或者&lt;code&gt;&amp;lt;%= javascript_include_tag 'xxx' %&amp;gt;&lt;/code&gt;。在 webpack 年代，做法也是类似，我们可以在&lt;code&gt;layouts/application.html.erb&lt;/code&gt; 用以下标签引入静态文件：&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;#这是这个示例的
&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;javascript_pack_tag&lt;/span&gt; &lt;span class="s1"&gt;'hello_vue'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
#也举举官方的例子, 例如你有如下入口
// app/javascript/packs/calendar.js
require('calendar')
#例如你有如下的目录结构
app/javascript/calendar/index.js // gets loaded by require('calendar'),自动会读引入目录下的index.js
app/javascript/calendar/components/grid.jsx
app/javascript/calendar/styles/grid.sass
app/javascript/calendar/models/month.js     
&lt;span class="c"&gt;&amp;lt;%# app/views/layouts/application.html.erb %&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;javascript_pack_tag&lt;/span&gt; &lt;span class="s1"&gt;'calendar'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;stylesheet_pack_tag&lt;/span&gt; &lt;span class="s1"&gt;'calendar'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
通过Rails的xxxx_pack_tag helper，你就可以加载好对应的静态文件
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来要讲讲的是开发环境下启动项目的变化。以前我们在开发环境下一般跑&lt;code&gt;rails s&lt;/code&gt;就够了，如果用到一些 sidekiq、solr 之类的库，也会多开一个窗口跑其他的进程。Rails 5.1 在引入 webpack 后，在开发时还要启动&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bin/webpack-dev-server 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;听上去多开个窗口很麻烦（用 tmux, 谁用谁知道），但 webpack-dev-server 除了增量构建、livereload 外，还有 &lt;a href="https://webpack.js.org/guides/hmr-react/" rel="nofollow" target="_blank" title=""&gt;Hot Module Replacement&lt;/a&gt;等好处。&lt;strong&gt;另外&lt;/strong&gt;，楼主之前在用默认配置跑 webpack-dev-server 时，见到静态文件加载编译完日志一切正常，但用 localhost 发现会有请求打不进 webpack 的问题，只要修改&lt;code&gt;config/webpack/development.server.yml&lt;/code&gt;的 host 为 127.0.0.1 就好，这时 Rails 的 xxx_pack_tag helper 也会自动修改 host。     ​&lt;/p&gt;

&lt;p&gt;hello_vue.js 代码很简单，引入 app.vue，然后在 html body 上显示个大大的"Vue"。这时我们访问&lt;code&gt;http://localhost:3000&lt;/code&gt;就可以看到结果了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;这时我们随便改改 app.vue 里面的文字或 css，也可以立刻见到 webpack-dev-server 检测到文件变动，之后页面会自动更新，cool！&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="其他静态文件的引入"&gt;其他静态文件的引入&lt;/h2&gt;
&lt;p&gt;webpack 另外一个带来的好处是可以在 js 代码直接引入图片/svg 之类的静态文件，并处理运行环境时的依赖关系，这里直接引用官方 gem 的例子&lt;/p&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// React component example&lt;/span&gt;
&lt;span class="c1"&gt;// app/javascripts/packs/hello_react.jsx&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;helloIcon&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../hello_react/images/icon.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../hello_react/styles/hello-react.sass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Hello&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;props&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"hello-react"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;helloIcon&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"hello-icon"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;webpack 遇到 js 文件里引入到静态文件或图片，会自动把依赖到的文件打包到 output(public/packs)，所以要注意，上面的文件例如引入了 css 文件，除了 js 文件外，我们在页面也要 include css 进来。&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;stylesheet_pack_tag&lt;/span&gt; &lt;span class="s1"&gt;'hello_react'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="获取webpack静态文件的asset_pack_path helper"&gt;获取 webpack 静态文件的 asset_pack_path helper&lt;/h2&gt;
&lt;p&gt;过去 assets pipeline 年代，我们可以在 view 里使用&lt;code&gt;asset_path&lt;/code&gt;或&lt;code&gt;image_tag&lt;/code&gt;等去调用 assets 里面的静态文件，又或者可以在 scss 里使用 image-url 等 helper，Rails 会帮我们处理不同环境下对这些静态文件的引用路径问题。&lt;/p&gt;

&lt;p&gt;现在 webpacker 也提供了一个&lt;code&gt;asset_pack_path&lt;/code&gt;的 helper，方便我们在不同地方引用&lt;code&gt;javascirpt/pack&lt;/code&gt;下的静态文件，&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;asset_pack_path&lt;/span&gt; &lt;span class="s1"&gt;'hello_react.css'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; "/packs/hello_react.css" &lt;/span&gt;&lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;asset_pack_path&lt;/span&gt; &lt;span class="s1"&gt;'calendar.png'&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; &amp;lt;img src="/packs/calendar.png" /&amp;gt; &lt;/span&gt;&lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;那如果我们想在 webpack 管理的文件里，引入过去 assets pipeline(sprockets assets) 里的静态文件呢？得以于&lt;code&gt;rails-erb-loader&lt;/code&gt;(loaders 里)，我们只要给 js 文件加个 erb 后缀，就可以通过 helper 引用回 app/assets 里的静态文件&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;// app/javascript/my_pack/example.js.erb

&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="n"&gt;helpers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ActionController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;helpers&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
var railsImagePath = "&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;helpers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;image_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'rails.png'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;";
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="生产环境deploy webpack打包"&gt;生产环境 deploy webpack 打包&lt;/h2&gt;
&lt;p&gt;什么？原来的&lt;code&gt;assets:precompile&lt;/code&gt;会自动跑新的 tasks&lt;code&gt;webpacker:compile&lt;/code&gt;？会自动处理页面 xxxx_pack_tag 引入的打包文件？webpack 的 production 环境还会自动读取配好的 cdn host? 那基本上如果你的 cdn 不是用回源而是用华顺 ruby-china 上传又拍云的方式，只需上传脚本多加个 public/packs 的文件夹就好了...&lt;/p&gt;

&lt;p&gt;更新&lt;/p&gt;
&lt;h2 id="开发环境中，例如加载字体文件遇到CORS的跨域问题解决方法"&gt;开发环境中，例如加载字体文件遇到 CORS 的跨域问题解决方法&lt;/h2&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;//development.server.js里头加入:&lt;/span&gt;
&lt;span class="nx"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Access-Control-Allow-Origin&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="加入Staging环境时, CDN HOST的问题"&gt;加入 Staging 环境时，CDN HOST 的问题&lt;/h2&gt;
&lt;p&gt;开发中常见我们会加入预生产环境 staging, 如果 staging 环境也需要使用到 cdn host，webpacker 里的&lt;code&gt;configuration.js&lt;/code&gt;需要做如下的修改&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ifHasCDN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ASSET_HOST&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NODE_ENV&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;production&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NODE_ENV&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;staging&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;devServerUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`http://&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;devServer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;host&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;devServer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/`&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;publicUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;ifHasCDN&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ASSET_HOST&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/`&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/`&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;publicPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NODE_ENV&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;production&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NODE_ENV&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;staging&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;devServerUrl&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;publicUrl&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>reducm</author>
      <pubDate>Sun, 30 Apr 2017 05:36:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/32904</link>
      <guid>https://ruby-china.org/topics/32904</guid>
    </item>
    <item>
      <title>[广州] 单车娱乐招聘 Ruby 开发工程师，App 开发工程师，技术总监</title>
      <description>&lt;h2 id="公司介绍"&gt;公司介绍&lt;/h2&gt;
&lt;p&gt;单车娱乐是&lt;a href="http://bestapp.us" rel="nofollow" target="_blank" title=""&gt;BestApp&lt;/a&gt;孵化出的一个独立运作创业公司，目前旗下正在运作有&lt;a href="http://www.dan-che.com" rel="nofollow" target="_blank" title=""&gt;单车电影&lt;/a&gt;这一项目，公司目前已过 A 轮，正在做 B 轮。年底在深圳南山腾讯大楼旁还会有一个 2000 平左右的办公场地。最近公司打算扩展业务，电影方面将会推出一个修复黑胶片的公益计划，同时正在开展&amp;lt;单车演出 (开 Show)&amp;gt;和&amp;lt;单车订场&amp;gt;两个项目。&lt;/p&gt;

&lt;p&gt;我们对创业的理念是能把东西落地，切切实实地做出结果，done is better than perfect。我们没有花大把的钱去装潢公司，也不喜欢高调地宣传自己，我们都讨厌不必要的浪费。我们喜欢用巧妙的方式去撬动影响力，我们希望融合优质的资源，我们希望打通更多、连接更多。&lt;/p&gt;

&lt;p&gt;如上所述，单车技术团队需要得到有效扩充。单车目前技术团队水平处于能解决绝大部分问题的水平，但我们对此都感到不满足，我们都有向上进步的欲望，所以此次招聘希望能找到技术总监级别的优秀伙伴，带领我们更上一层楼。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="初级Ruby开发工程师(6-8k)"&gt;初级 Ruby 开发工程师 (6-8k)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ruby 开发经验，或其他 Java/PHP/Python 的服务端开发经验&lt;/li&gt;
&lt;li&gt;熟悉 Rails 框架&lt;/li&gt;
&lt;li&gt;了解网页前端 html/js/css等&lt;/li&gt;
&lt;li&gt;熟悉开发 api&lt;/li&gt;
&lt;li&gt;熟悉 git&lt;/li&gt;
&lt;li&gt;熟悉常用 Gem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;加分&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;使用 vim or emacs 编码&lt;/li&gt;
&lt;li&gt;熟悉 sass coffeescript&lt;/li&gt;
&lt;li&gt;开源项目开发经验，有 github 账号，独立 blog&lt;/li&gt;
&lt;li&gt;独立部署 web 应用经验&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="高级Ruby开发工程师(9k-15k)"&gt;高级 Ruby 开发工程师 (9k-15k)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;能独立承担项目前后端开发&lt;/li&gt;
&lt;li&gt;熟悉了解常见业务流开发解决方案&lt;/li&gt;
&lt;li&gt;熟悉缓存、io 等性能优化点&lt;/li&gt;
&lt;li&gt;熟悉 Javascript 高级应用&lt;/li&gt;
&lt;li&gt;熟悉各类 CSS 最佳实践&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;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="Ruby技术总监(16K-25k+)"&gt;Ruby 技术总监 (16K-25k+)&lt;/h2&gt;
&lt;ul&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;li&gt;熟悉服务器性能优化方案&lt;/li&gt;
&lt;li&gt;来聊&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="iOS开发工程师(10k-15k)"&gt;iOS 开发工程师 (10k-15k)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;具备扎实的 Objective-C 编程基础； &lt;/li&gt;
&lt;li&gt;熟悉 iOS 系统特性，熟悉 Cocoa Touch 框架，iOS SDK； &lt;/li&gt;
&lt;li&gt;有独立作品或 1 个以上的成熟项目的经验； &lt;/li&gt;
&lt;li&gt;熟悉 C/C++ 优先； &lt;/li&gt;
&lt;li&gt;有 Web 编程经验优先。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="Android开发工程师(10k-15k)"&gt;Android 开发工程师 (10k-15k)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;具备扎实的 Java 技术功底；&lt;/li&gt;
&lt;li&gt;熟悉 Android 系统特性，熟悉 Android SDK；&lt;/li&gt;
&lt;li&gt;有独立作品或 1 个以上的成熟项目的经验；&lt;/li&gt;
&lt;li&gt;熟悉 C/C++，了解 NDK 开发，优先；&lt;/li&gt;
&lt;li&gt;有 Web 编程经验优先。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="App开发技术总监(16k-22k+)"&gt;App 开发技术总监 (16k-22k+)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;负责 APP 产品的研发，及移动开发团队的技术管理；&lt;/li&gt;
&lt;li&gt;负责 APP 项目的架构设计、方案制定；&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;/li&gt;
&lt;li&gt;负责前端技术实施的整体考虑，提供前端与后端技术应用解决方案。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="公司福利"&gt;公司福利&lt;/h2&gt;
&lt;p&gt;五险一金加期权，提供苹果开发机，自带电脑补贴，健康座椅，朝 10 晚 6 五天制 (尽量避免加班)，各种最新电子设备产品，每月 1-2 次集体出外活动&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="联系方式"&gt;联系方式&lt;/h2&gt;
&lt;p&gt;公司地址：广州市新港东路 2433 号启盛会展产业园 115-116 号
联系邮箱：jas@dan-che.com&lt;/p&gt;

&lt;p&gt;关于过往的一些招聘信息，&lt;a href="https://ruby-china.org/topics/8101" title=""&gt;一&lt;/a&gt;, &lt;a href="https://ruby-china.org/topics/15330" title=""&gt;二&lt;/a&gt;, &lt;a href="https://ruby-china.org/topics/22252" title=""&gt;三&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;最后放个公司 CEO 在公司教训下属的图片
&lt;img src="https://l.ruby-china.com/photo/2015/bdef933c6f767609cb07869bcd126782.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Thu, 23 Apr 2015 18:03:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/25272</link>
      <guid>https://ruby-china.org/topics/25272</guid>
    </item>
    <item>
      <title>[广州] 单车电影 招聘 Ruby 服务端 /Web 前端开发工程师，欢迎实习生 / 应届毕业生</title>
      <description>&lt;h2 id="公司介绍"&gt;公司介绍&lt;/h2&gt;
&lt;hr&gt;

&lt;p&gt;&lt;a href="http://www.dan-che.com" rel="nofollow" target="_blank" title=""&gt;单车电影&lt;/a&gt;是&lt;a href="http://bestapp.us" rel="nofollow" target="_blank" title=""&gt;BestApp&lt;/a&gt;孵化出的一个独立运作创业项目。在目前电影行业互联网化大环境里，虽然百家争鸣，以其中的票房来说，互联网销售产出比例仍然偏低，电影行业互联网化还有很大的空间，而电影绝不仅仅只有购票。我们热爱电影，想在电影这一块上实现我们的许多想法，于是集合 BestApp 里爱电影的同学孵化出单车电影这一项目。我们奉行简约，接地气的理念，愿为广大电影爱好者打造一个优质的产品。&lt;/p&gt;

&lt;p&gt;在半年的磨砺里，单车电影从最初的 3 个人开始，以游击的方式，打造好了基础技术平台和基础版本，同时一步步地落实接入各种优质商务资源，经历了许多动人的时刻，现在团队逐渐趋于稳定，各种流程规范的工作也逐渐构建起来，目前正是我们需要壮大的时候。当前团队处于准备 A 轮的阶段，前期的成员均有丰厚期权分配，行权以厚道价格比例。&lt;/p&gt;
&lt;h2 id="Ruby on Rails服务端职位要求(6-10k)"&gt;Ruby on Rails 服务端职位要求 (6-10k)&lt;/h2&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Ruby 开发经验，或其他 Java/PHP/Python 的服务端开发经验&lt;/li&gt;
&lt;li&gt;了解网页前端 html/js/css等&lt;/li&gt;
&lt;li&gt;熟悉 git&lt;/li&gt;
&lt;li&gt;熟悉 Linux&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;加分&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;熟悉 Mysql 性能优化，最佳实践&lt;/li&gt;
&lt;li&gt;使用 vim or emacs 编码&lt;/li&gt;
&lt;li&gt;熟悉 sass coffeescript&lt;/li&gt;
&lt;li&gt;开源项目开发经验，有 github 账号，独立 blog&lt;/li&gt;
&lt;li&gt;独立部署 web 应用经验&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="Web前端开发职位要求(6-9k)"&gt;Web 前端开发职位要求 (6-9k)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;熟悉 html/js/css良好的代码规范&lt;/li&gt;
&lt;li&gt;能独立将设计图转化成网页样式&lt;/li&gt;
&lt;li&gt;熟知 javascript 里的坑，原型链，闭包，上下文，异步特性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;加分 &lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;熟悉 git&lt;/li&gt;
&lt;li&gt;使用 vim or emacs 编码&lt;/li&gt;
&lt;li&gt;熟知各种开源库，underscore, bootstrap, jquery, jquery-ui, backbone 等等 &lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="公司福利"&gt;公司福利&lt;/h2&gt;
&lt;p&gt;五险一金期权，提供苹果开发机，健康座椅，朝 10 晚 6 五天制 (尽量避免加班)，期权，各种最新电子设备产品，每月 1-2 次集体出外活动&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="联系方式"&gt;联系方式&lt;/h2&gt;
&lt;p&gt;公司地址：广州市新港东路 2433 号启盛会展产业园 115-116 号
联系邮箱：jas@dan-che.com&lt;/p&gt;

&lt;p&gt;关于 BestApp 过往的一些信息，&lt;a href="https://ruby-china.org/topics/8101" title=""&gt;一&lt;/a&gt;, &lt;a href="https://ruby-china.org/topics/15330" title=""&gt;二&lt;/a&gt;&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Fri, 24 Oct 2014 17:55:22 +0800</pubDate>
      <link>https://ruby-china.org/topics/22252</link>
      <guid>https://ruby-china.org/topics/22252</guid>
    </item>
    <item>
      <title>[广州] BestApp 招聘! 20131231 更新 PM25 项目招人信息!</title>
      <description>&lt;p&gt;&lt;strong&gt;2013-12-31 更新招聘&lt;/strong&gt;
PM25.in 是 BestApp 广为人知的一公益性项目，许多的大型机构、知名天气 App、某帝领事馆都在使用我们的数据。2014 的 PM25，我们会有更新鲜的玩法:)。现需要 Rails 伙伴加入，应届生与实习生均可，待遇跟下面相似。&lt;/p&gt;

&lt;p&gt;联系人：crayon@bestapp.us&lt;/p&gt;

&lt;p&gt;---------我是分界线-----------------&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BestApp 是一家充满活力的公司&lt;/strong&gt;
我们有各种大型商业合作项目，合作伙伴有：如家，快捷酒店管家，电信，推送系统，还有各种互联网大佬等等等&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BestApp 是一家有理想的公司&lt;/strong&gt;
我们会抽 20% 的精力去做一些让世界更美好的东西，公益性项目&lt;a href="http://www.36kr.com/p/201895.html" rel="nofollow" target="_blank" title=""&gt;pm25.in&lt;/a&gt; (&lt;a href="http://www.36kr.com/p/201895.html" rel="nofollow" target="_blank" title=""&gt;36kr 报道&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BestApp 是一家注重技术的公司&lt;/strong&gt;
我们爱好新技术，Rails Node.js Go Scala 等等都是我们工程师的玩具，你在这里会自由地承担起各种责任，让你飞速成长，我们对开发者社区更是不遗余力的支持 (Boss 是广州 GDG 负责人，工程师更是珠三角沙龙 Gzruby 等优质社区活动的常客), 技术书籍不必考虑预算&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BestApp 是一家好玩的公司&lt;/strong&gt;
LeapMotion? Google Glass? 只要市场上有的新奇电子设备，我们都会第一时间拥有。我们的工程师有童心的家伙，办公室内有瑜伽球，滑板（车），各种球类...你不用担心文娱活动！还有不少吃货，妹子...&lt;/p&gt;

&lt;p&gt;P.S. 如果你有关注过 Google Glass, 相信你会见过咱们臭美的&lt;a href="http://www.ituring.com.cn/article/58317" rel="nofollow" target="_blank" title=""&gt;Boss Anson&lt;/a&gt;, &lt;a href="http://www.36kr.com/p/207142.html" rel="nofollow" target="_blank" title=""&gt;36kr 报道之一&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;招聘要求
薪资范围： &lt;strong&gt;5-10k&lt;/strong&gt;(视能力而定可突破天际，欢迎应届生)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;基本要求&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rails 开发经验或其他语言 Web 开发经验&lt;/li&gt;
&lt;li&gt;熟悉 Javascript，熟悉 jQuery 等常用框架&lt;/li&gt;
&lt;li&gt;熟悉 Css, 了解 html5 和 css3 新变化，熟悉页面布局&lt;/li&gt;
&lt;li&gt;熟悉 git&lt;/li&gt;
&lt;li&gt;熟悉 Linux，能够独立部署 Rails 应用&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;加分项&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;有 github 帐号&lt;/li&gt;
&lt;li&gt;有独立的技术 blog&lt;/li&gt;
&lt;li&gt;熟悉各种&lt;/li&gt;
&lt;li&gt;参与过开源项目并贡献代码&lt;/li&gt;
&lt;li&gt;熟悉 sass 或 coffeescript 技术&lt;/li&gt;
&lt;li&gt;熟悉前端 MVC 框架如 backbone, angular.js, ember.js&lt;/li&gt;
&lt;li&gt;热爱 vim 或 emacs :)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;目前新公司搬至万胜围江边，空气很好的地方，食在广州，附近的古港烧鸡，深井烧鹅非常出名，以后工程师们坐在江边写代码将会是我们的一道亮丽风景线！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一些图&lt;/strong&gt;
大厅全景
&lt;img src="http://ww4.sinaimg.cn/large/560ce489gw1eaaodhsho7j21kw0cwtdu.jpg" title="" alt="大厅全景"&gt;
另一角度
&lt;img src="http://ww1.sinaimg.cn/mw690/560ce489gw1eaaodv3111j21kw16ok45.jpg" title="" alt=""&gt;
这一边
&lt;img src="http://ww4.sinaimg.cn/mw690/560ce489gw1eaaodoi0mkj21kw16owra.jpg" title="" alt=""&gt;
未来咖啡厅的别厅
&lt;img src="http://ww2.sinaimg.cn/mw690/560ce489gw1eaaodels2dj21kw0cegoh.jpg" title="" alt=""&gt;
玩滑板的家伙
&lt;img src="http://ww4.sinaimg.cn/mw690/560ce489gw1eaaodcvgf0j216o1kwqgc.jpg" title="" alt=""&gt;
周五固定的德州扑克研讨会
&lt;img src="http://ww1.sinaimg.cn/mw690/560ce489gw1eaaod5vbb6j21kw16owps.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;加入我们，一起冒险吧！&lt;/p&gt;

&lt;p&gt;公司目前地址：广州市新港东路 2433 号启盛会展产业园 115-116 号（黄埔村牌坊对面，地铁万胜围附近）
简历发至：jas@bestapp.us
&lt;a href="http://ruby-china.org/topics/8101" title=""&gt;过去的招聘贴&lt;/a&gt;&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Wed, 06 Nov 2013 02:07:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/15330</link>
      <guid>https://ruby-china.org/topics/15330</guid>
    </item>
    <item>
      <title>请教 wicked_pdf 生成的 pdf 中文字体不对齐，跳行的问题</title>
      <description>&lt;p&gt;#截图
&lt;img src="http://ww3.sinaimg.cn/large/bfadf3bejw1e33o0ce9tkj.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;今天有个需求要生成 pdf, 对比过 prawn, pdfkit, wicked_pdf，踩坑不少，最后选择了 wicked_pdf(问题最少)，现在基本 css 样式，javascript, 图片嵌入，中文字显式，下载之类的都没问题了，可是生成出来的文字却是如图般不在同一行跳跳跳的，清除掉所有样式问题依旧，但在 debug 选项 &lt;code&gt;show_as_html: true&lt;/code&gt;下却是显式正常，现在怀疑是 html 标签的问题，请有经验的同学指教一下&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Wed, 27 Mar 2013 01:04:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/9774</link>
      <guid>https://ruby-china.org/topics/9774</guid>
    </item>
    <item>
      <title>[广州] BestApp 招聘 Rails 开发者</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;BestApp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'一群疯狂到认为自己能够改变世界的人们'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;


&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;你&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'特立独行,擅长从与众不同的角度看待事物'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;你&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'全神工作时,能忘却时间还在流动，生命还需要食物'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;你&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'渴望改变寻常事物，梦想着推动世界向前进步'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
      &lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;你&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="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;Bestapp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;BestappModule&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;declare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'我们不承诺永不加班，但承诺你可以选择在自己喜欢的时间进行工作！'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;declare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'我们不承诺环境最好，但承诺公司如家一般的适合生活！'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;declare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'我们不承诺薪资最高，但承诺财富与能力一同收获！'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;needs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'各路ios、ruby on rails、nodejs高手加入'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;todo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'与我们一起，做些疯狂的事'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="no"&gt;BestApp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;contact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'hi@bestapp.us'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;#Web 开发
薪资范围：5-8k&lt;/p&gt;

&lt;p&gt;##基本要求&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;1 年以上 Rails 开发经验或其他语言 Web 开发经验&lt;/li&gt;
&lt;li&gt;熟悉 Javascript，熟悉 jQuery 等常用框架&lt;/li&gt;
&lt;li&gt;熟悉 Css, 有页面布局&lt;/li&gt;
&lt;li&gt;熟悉 git&lt;/li&gt;
&lt;li&gt;熟悉 Linux，能够独立部署 Rails 应用&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;##加分项&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;有 github 帐号&lt;/li&gt;
&lt;li&gt;有独立的技术 blog&lt;/li&gt;
&lt;li&gt;参与过开源项目并贡献代码&lt;/li&gt;
&lt;li&gt;熟悉 sass 或 coffeescript 等技术&lt;/li&gt;
&lt;li&gt;热爱 vim 或 emacs :)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;#顺招学徒，跟团队项目
&lt;strong&gt;2013-1-28 日更新，学徒已招满&lt;/strong&gt;
资薪范围：3-4k&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;你想从此成为 Rails 开发者，并有过使用其他语言开发 Web 的经验&lt;/li&gt;
&lt;li&gt;了解数据库和 SQL&lt;/li&gt;
&lt;li&gt;能在 Linux 下工作&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;工作地点：交通便利的珠江新城&lt;/p&gt;

&lt;p&gt;以上信息有参考 Beansmile gzrubier &lt;a href="/leondu" class="user-mention" title="@leondu"&gt;&lt;i&gt;@&lt;/i&gt;leondu&lt;/a&gt; 的帖子 :)&lt;/p&gt;

&lt;p&gt;&lt;img src="http://ww3.sinaimg.cn/bmiddle/621cce51gw1e0uo96r200j.jpg" title="" alt=""&gt;
&lt;img src="http://ww1.sinaimg.cn/bmiddle/560ce489jw1e0attdrbupj.jpg" title="" alt=""&gt;
&lt;img src="http://ww3.sinaimg.cn/bmiddle/560ce489jw1e06yckkp80j.jpg" title="" alt=""&gt;
&lt;img src="http://ww1.sinaimg.cn/bmiddle/560ce489gw1e0uqg4y3zhj.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Wed, 16 Jan 2013 00:22:20 +0800</pubDate>
      <link>https://ruby-china.org/topics/8101</link>
      <guid>https://ruby-china.org/topics/8101</guid>
    </item>
    <item>
      <title>请教如何在这种情况下获取上层 Module 的常量</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Douban&lt;/span&gt;
  &lt;span class="no"&gt;FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;root&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/config/douban.yml"&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Jconfig&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Jconfig&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;included&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;receiver&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;receiver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt; &lt;span class="ss"&gt;:include&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;Config&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Config&lt;/span&gt;
    &lt;span class="c1"&gt;#这里怎样才能获取到Douban::FILE这个常量？其中一个办法是上面self.included的时候把receiver里面的东西传进来，但是如果是要在Douban::Config这个域里面怎样才能获取上层module的常量呢？&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;</description>
      <author>reducm</author>
      <pubDate>Wed, 11 Jul 2012 00:35:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/4236</link>
      <guid>https://ruby-china.org/topics/4236</guid>
    </item>
    <item>
      <title>请大家介绍一下你们前端表单验证的方案</title>
      <description>&lt;p&gt;rails 的 model 里有很好的 validate 机制，但是前端表单验证也同样重要，请大家介绍一下都是使用什么方案，这种方案有什么特点  &lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Tue, 03 Apr 2012 17:43:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/2366</link>
      <guid>https://ruby-china.org/topics/2366</guid>
    </item>
    <item>
      <title>请教一下 ruby-china model 里面的写法</title>
      <description>&lt;p&gt;所有的字段都用 field 标出来并可以指定 type，这种写法可以在修 model 里面直观看到 model 里面有什么字段，是某个 gem 实现的吗？这种写法可以自动令 migrate 识别吗？与 migrate 比起来还有其他好处吗？&lt;/p&gt;

&lt;p&gt;另外也发现 model 没有继承 ActiveRecord::Base，这是怎么实现的可以解析下吗？  &lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Sun, 26 Feb 2012 15:43:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/1431</link>
      <guid>https://ruby-china.org/topics/1431</guid>
    </item>
    <item>
      <title>ubuntu11.11 遇到 gvim 启动非常慢的问题</title>
      <description>&lt;p&gt;安装包是从 apt-get 来的（分别试过 vim-gnome 和 vim-gtk）,情况是打开在启动画面得瑟很久，输入:edit 要隔十多秒才有反应，后续输入也是许久才慢慢一个个字符出现，清理过 plugin 也无用，但在之前一直用的 11.04 里面却没有这问题，请大家帮帮忙 &lt;/p&gt;

&lt;p&gt;P.S 新年快乐～！  &lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Sun, 22 Jan 2012 18:44:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/932</link>
      <guid>https://ruby-china.org/topics/932</guid>
    </item>
    <item>
      <title>ruby 1.9.3 编译安装时发生的错误</title>
      <description>&lt;p&gt;ubuntu 11.04，之前编译安装 ruby1.9.2 使用一直正常，见到有 1.9.3 后下载更新
./confirgure  后 make 的时候来到这一步发生错误：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;compiling dmyext.c
linking miniruby
./tool/mkconfig.rb:11:in &lt;span class="sb"&gt;`&lt;/span&gt;require&lt;span class="s1"&gt;': incompatible character encodings: ASCII-8BIT and US-ASCII (Encoding::CompatibilityError)
    from ./tool/mkconfig.rb:11:in `&amp;lt;main&amp;gt;'&lt;/span&gt;
make: &lt;span class="k"&gt;***&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;.rbconfig.time] 错误 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请问大家这个应该怎么修复？&lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Tue, 17 Jan 2012 19:58:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/885</link>
      <guid>https://ruby-china.org/topics/885</guid>
    </item>
    <item>
      <title>gem 安装发生的依赖包问题</title>
      <description>&lt;p&gt;这个问题很怪异，时有时无。
有时在某些机子上例如用 gem install rails，会提示 requires xxxx 然后要一个个依赖包手动安装下去，依赖又有依赖...按道理 gem 是会自动安装依赖包，但是这个功能有时会失效 
想到的解决方法是自己写个递归脚本让他自动装，但这样每递归一次都要更新一次 atest 文件，速度很慢 &lt;/p&gt;

&lt;p&gt;一直都找不到这个是什么原因引起，google 和 stackoverflow 都找过，有些说是某些 gem 包用 C 了会和 gcc 版本有关系，但各种东西升级到最新还是有这个依赖问题，很奇怪  &lt;/p&gt;</description>
      <author>reducm</author>
      <pubDate>Tue, 13 Dec 2011 23:29:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/468</link>
      <guid>https://ruby-china.org/topics/468</guid>
    </item>
  </channel>
</rss>
