<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hellolucky123</title>
    <link>https://ruby-china.org/hellolucky123</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>寻求上海 / 北京工作机会</title>
      <description>&lt;p&gt;大家好，我是 Felix(士渊)，近期我即将结束在台湾近 2100 天创业的日子，希望可以有机会到上海或是北京闯一闯。&lt;/p&gt;

&lt;p&gt;一时之间还不知道该怎么把这几年的经历转换成履历，目前也还拿不定主意究竟要走技术职还是管理职，所以先用以下的简单介绍，预计七月会安排去一趟上海和一趟北京，希望有兴趣的朋友或是前辈可以在微信上先聊聊，若对彼此都有兴趣届时可以约个时间碰个面。&lt;/p&gt;

&lt;p&gt;我在台湾做的项目是 &lt;a href="https://dappei.com" rel="nofollow" target="_blank"&gt;https://dappei.com&lt;/a&gt; (六月底会停止服务)，简单总结一下这几年的经营网站成绩 (在台湾数量可能相对会小很多) 和自己一点简单的介绍。&lt;/p&gt;
&lt;h3 id="成绩简介："&gt;成绩简介：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;alexa 台湾排名最高约 290 名。&lt;/li&gt;
&lt;li&gt;每月 pv200~300 万、uu40~80 万不等。&lt;/li&gt;
&lt;li&gt;近 10 万会员、4.5 万张穿搭照、3 万张单品照。&lt;/li&gt;
&lt;li&gt;与 500~600 位意见领袖、穿搭达人合作。&lt;/li&gt;
&lt;li&gt;与超过 30 家时尚潮流媒体合作。&lt;/li&gt;
&lt;li&gt;从 2014 年开始有营收，2014-2015 营收 5.9 倍成长接近打平，2015-2016 营收 1.5 倍成长并转亏为盈。&lt;/li&gt;
&lt;li&gt;总营运费用约 430 万人民币。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="工作经验："&gt;工作经验：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;PHP 工程师 - 1 年&lt;/li&gt;
&lt;li&gt;Ruby on Rails 工程师 - 7 年 (最后 2 年断断续续，Back-end &amp;gt; Front-end = DevOps，)&lt;/li&gt;
&lt;li&gt;管理、财务、会计、行销、业务...等公司营运所有相关事项皆亲自执行后交接 - 4 年 (与第 2 点时间重叠)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;新创团队、中型公司、大型企业及外商都待过，也有自行创业的经验，编成部分架构上一两百个 Model、Controller 大小的专案应该都还可以独立应付。&lt;/p&gt;
&lt;h3 id="擅长："&gt;擅长：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;从 0 到 1 规划与执行。&lt;/li&gt;
&lt;li&gt;制定与优化工作流程、增加工作效率。&lt;/li&gt;
&lt;li&gt;互连网相关技术。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="弱势："&gt;弱势：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;英文读写普通，沟通较弱。&lt;/li&gt;
&lt;li&gt;对新技术熟悉度较低、移动端执行较弱，需要时间补足。&lt;/li&gt;
&lt;li&gt;去过上海、杭州、南京几趟，但对于大陆地区公司的运作方式跟台湾比起来还是较不熟悉&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="附上一些相关连结："&gt;附上一些相关连结：&lt;/h3&gt;
&lt;p&gt;Ruby China 个人页
&lt;a href="https://ruby-china.org/hellolucky123" rel="nofollow" target="_blank"&gt;https://ruby-china.org/hellolucky123&lt;/a&gt;
(内文连结 blog 因为后来当老板没有维护某一天就突然消失了)&lt;/p&gt;

&lt;p&gt;Github:
&lt;a href="https://github.com/hellolucky" rel="nofollow" target="_blank"&gt;https://github.com/hellolucky&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;如果发文有什么不足或是有什么不符合规定的还请告知与见谅！&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Sun, 18 Jun 2017 19:17:44 +0800</pubDate>
      <link>https://ruby-china.org/topics/33253</link>
      <guid>https://ruby-china.org/topics/33253</guid>
    </item>
    <item>
      <title>Rspec and Rails Gem</title>
      <description>&lt;p&gt;會想寫這個主題有很多原因，原本我是一個手動測試者，頂多就是不照規範寫程式去 test 程式，後來因為大量使用 Redis，這東西真的很好用，但實在經不起程式邏輯的錯誤發生，所以開始學起 Rspec 去用較正規的方式寫 Test。&lt;/p&gt;

&lt;p&gt;一開始，我把程式依照功能性切割成 module，在 Rails app 裡面直接寫 Rspec。但我一共寫了 5 個功能性的 module 在各個 model 中使用，如果要把每個 model 中所有使用到 module 的關係寫完，實在是太可怕了，所以最後決定把它包裝成 Gem，用較單純的邏輯去做測試。&lt;/p&gt;

&lt;p&gt;在把 module 包裝成 Gem 的過程中，我開始搜尋 Rspec 和 Gem 的結合，但因為 Rspec 本身就是一個 Gem，關鍵字很難下，找到的資料非常少，所以就決定把它整理記錄一下，讓有需要的朋友參考。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-rspec-and-rails-gem/" rel="nofollow" target="_blank"&gt;http://blog.hellolucky.info/articles/ruby-on-rails-rspec-and-rails-gem/&lt;/a&gt;&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Mon, 18 Feb 2013 20:59:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/8752</link>
      <guid>https://ruby-china.org/topics/8752</guid>
    </item>
    <item>
      <title>Ruby 與 Redis 整合之相關資源整理</title>
      <description>&lt;p&gt;原文：&lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-ruby-and-redis-integration-of-resource/" rel="nofollow" target="_blank"&gt;http://blog.hellolucky.info/articles/ruby-on-rails-ruby-and-redis-integration-of-resource/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;一年多前 Ruby 和 Redis 整合資源沒這麼豐富的時候，我寫了一篇 &lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-redis-related-to-gem/" rel="nofollow" target="_blank" title=""&gt;[ Ruby on Rails ] Redis 相關 Gem&lt;/a&gt;介紹了一些當下僅有的 Gem，但事隔一年多，Redis 的資源越來越多，手邊也蒐集了一些觀察及使用名單，也許不全都屬於 Ruby，但相信對 Ruby 的使用者來說應該不是什麼問題。之前介紹的基本上大同小異我就不再贅述，這篇文章會把近一年來實用或是出名的工具做一些整理以及基本的介紹，如果在這份名單裡面有你愛用的工具而我沒推薦到的也歡迎提供！&lt;/p&gt;
&lt;h2 id="Integrate with Ruby( Rails )"&gt;Integrate with Ruby( Rails )&lt;/h2&gt;&lt;h3 id="nest"&gt;&lt;a href="https://github.com/soveran/nest" rel="nofollow" target="_blank" title=""&gt;nest&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;非常適合提高 Redis 和 Rails 整合維護性的 Gem，可以把 Ruby 的 Hash 自動整合成 Redis 的 key！整合方式可參考 &lt;a href="http://www.confreaks.com/videos/908-railsconf2012-redis-application-patterns-in-rails" rel="nofollow" target="_blank" title=""&gt;Redis Application Patterns In Rails&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id="redis-namespace"&gt;&lt;a href="https://github.com/defunkt/redis-namespace" rel="nofollow" target="_blank" title=""&gt;redis-namespace&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;和 nest 類似的東西，但個人比較喜歡 nest。&lt;/p&gt;
&lt;h3 id="redis_props"&gt;&lt;a href="https://github.com/obie/redis_props" rel="nofollow" target="_blank" title=""&gt;redis_props&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;類似 &lt;a href="https://github.com/nateware/redis-objects" rel="nofollow" target="_blank" title=""&gt;redis-objects&lt;/a&gt; 的 Gem，但使用上更單純簡單一點。&lt;/p&gt;
&lt;h3 id="ohm "&gt;&lt;a href="https://github.com/soveran/ohm" rel="nofollow" target="_blank" title=""&gt;ohm &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;類似 &lt;a href="https://github.com/nateware/redis-objects" rel="nofollow" target="_blank" title=""&gt;redis-objects&lt;/a&gt; 的 Gem，但和 redis-objects 有一樣的問題，Redis 原生的指令就已經很好用了，他卻改變原本應有的操作方式，對於這類型 Gem 我沒有太多興趣。&lt;/p&gt;
&lt;h3 id="redis-store"&gt;&lt;a href="https://github.com/jodosha/redis-store" rel="nofollow" target="_blank" title=""&gt;redis-store&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;非常棒的一個 Gem，可以把 Redis 當 Memcached 一樣整合到 Rails 的 Cache，如果不想一邊維護 Redis 一邊維護 Memcached 可以考慮使用他。&lt;/p&gt;
&lt;h2 id="Search &amp;amp; AutoComplete"&gt;Search &amp;amp; AutoComplete&lt;/h2&gt;&lt;h3 id=" redis-textsearch "&gt;&lt;a href="https://github.com/nateware/redis-textsearch" rel="nofollow" target="_blank" title=""&gt; redis-textsearch &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;不錯的一個 Gem，但斷詞系統是以英文為主，不支援中文。&lt;/p&gt;
&lt;h3 id="redis-search "&gt;&lt;a href="https://github.com/huacnlee/redis-search" rel="nofollow" target="_blank" title=""&gt;redis-search &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;由對岸高手開發的 Redis search，功能強大且提供斷詞解決中文問題。&lt;/p&gt;
&lt;h3 id="soulmate "&gt;&lt;a href="https://github.com/seatgeek/soulmate" rel="nofollow" target="_blank" title=""&gt;soulmate &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是一套用 sinatra 寫的 autocomplete api server，可以輕易 mount 到 Rails app，同時也有提供&lt;a href="https://github.com/mcrowe/soulmate.js" rel="nofollow" target="_blank" title=""&gt;jQuery Plugin&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="Admin, Monitor, Analytics"&gt;Admin, Monitor, Analytics&lt;/h2&gt;&lt;h3 id="phpRedisAdmin "&gt;&lt;a href="https://github.com/ErikDubbelboer/phpRedisAdmin" rel="nofollow" target="_blank" title=""&gt;phpRedisAdmin &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是用 PHP 仿 phpMyAdmin 寫的一套管理系統，也是因為 Redis 先天上的限制，這種類型的東西其實對 Redis 來講不太實用，Redis 是跑 single thread，這種類型的工具一個頁面要下的查詢指令非常龐大，如果在 production 使用容易拖累整體效能。&lt;/p&gt;
&lt;h3 id="redmon"&gt;&lt;a href="https://github.com/steelThread/redmon" rel="nofollow" target="_blank" title=""&gt;redmon&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是用 Ruby 寫的 Monitor，看起來好用但因為 Redis 先天性的限制，使用這類型的 Monitor 對於效能影響很大，所以使用上建議擷取一段時間做測試，而非常時間使用。&lt;/p&gt;
&lt;h3 id="RedisLive"&gt;&lt;a href="https://github.com/kumarnitin/RedisLive" rel="nofollow" target="_blank" title=""&gt;RedisLive&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是用 Python 寫的 Monitor，基本上同 redmon。&lt;/p&gt;
&lt;h3 id="redis-monitor"&gt;&lt;a href="https://github.com/PrettySimple/redis-monitor" rel="nofollow" target="_blank" title=""&gt;redis-monitor&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是用 PHP 寫的 Monitor，基本上同 redmon。&lt;/p&gt;
&lt;h3 id="redis-faina "&gt;&lt;a href="https://github.com/Instagram/redis-faina" rel="nofollow" target="_blank" title=""&gt;redis-faina &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是用 Python 寫的 Monitor，基本上和前三種都一樣，但如果不排斥使用 command line，我最推薦使用這套去監測分析 Redis。&lt;/p&gt;
&lt;h3 id="redis_logger "&gt;&lt;a href="https://github.com/hellolucky/redis_logger" rel="nofollow" target="_blank" title=""&gt;redis_logger &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;毛遂自薦一下，這是我寫的 logger，把 Redis 和 Rails 的 logger 做更深度的結合，方便分析每個 action 中 Redis 使用的時間。詳情可以參考 &lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-redis-logger/" rel="nofollow" target="_blank" title=""&gt;RedisLogger – a better redis logger for Rails application&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id=" redis-sampler "&gt;&lt;a href="https://github.com/antirez/redis-sampler" rel="nofollow" target="_blank" title=""&gt; redis-sampler &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;由 Redis 作者本人開發，主要用來分析 Redis 內資料型態的組成。&lt;/p&gt;
&lt;h3 id="twemproxy"&gt;&lt;a href="https://github.com/twitter/twemproxy" rel="nofollow" target="_blank" title=""&gt;twemproxy&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是 twitter release 的 Redis(Mencached) proxy，在內建 cluster 推出之前 Redis 最推薦的解決方案。&lt;/p&gt;
&lt;h3 id="redis_failover  "&gt;&lt;a href="https://github.com/ryanlecompte/redis_failover" rel="nofollow" target="_blank" title=""&gt;redis_failover  &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;自動化處理 Redis failover 的工具。&lt;/p&gt;
&lt;h2 id="Others"&gt;Others&lt;/h2&gt;&lt;h3 id=" redis-dump "&gt;&lt;a href="https://github.com/delano/redis-dump" rel="nofollow" target="_blank" title=""&gt; redis-dump &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;把 redis dump 成 json 備份的工具。&lt;/p&gt;
&lt;h3 id="recommendify "&gt;&lt;a href="https://github.com/paulasmuth/recommendify" rel="nofollow" target="_blank" title=""&gt;recommendify &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;這是 Redis base 的推薦系統，功能看似強大，但由於我目前沒此需求所以沒使用過，歡迎提供使用心得。&lt;/p&gt;
&lt;h3 id="redis_captcha "&gt;&lt;a href="https://github.com/hellolucky/redis_captcha" rel="nofollow" target="_blank" title=""&gt;redis_captcha &lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Redis 強大的特性非常適合用來擋 Spam，所以我用 Redis 加上 ImageMagick 寫了一個 Captcha Engine，詳情請看 &lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-rediscaptcha-introduction/" rel="nofollow" target="_blank" title=""&gt;簡單好用的驗證碼 Gem – Redis Captcha&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id="wavebox"&gt;&lt;a href="https://github.com/poga/wavebox" rel="nofollow" target="_blank" title=""&gt;wavebox&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;由國人 poga 開發的 Message System，可參考 &lt;a href="http://devpoga.wordpress.com/2012/12/04/wavebox-redis-powered-messaging/" rel="nofollow" target="_blank" title=""&gt;WaveBox, Redis-powered Messaging&lt;/a&gt; 。&lt;/p&gt;
&lt;h2 id="總結"&gt;總結&lt;/h2&gt;
&lt;p&gt;列在上面的東西大概只玩了 70%，其餘不是沒興趣就是還沒有時間玩到，以下就就我的經驗來做點總結。&lt;/p&gt;

&lt;p&gt;Integrate with Ruby( Rails ) 的部份，我推薦單純使用 redis-rb + nest 做結合，用原生的指令去控制所有事情，不建議使用類 ORM 的東西去掌控，一方面是無法顧及效率問題 (那用 Redis 幹嘛？)，另一方面是把 key 的控制權交給類 ORM 的 Gem 我認為是一個很可怕的事情，所以我還是建議如果可以就使用 Redis 原生的指令。&lt;/p&gt;

&lt;p&gt;Search &amp;amp; AutoComplete 的部份，redis-textsearch 不支援中文，redis-search 又太強大，加上我有特殊需求，所以正在用 &lt;a href="http://patshaughnessy.net/2011/11/29/two-ways-of-using-redis-to-build-a-nosql-autocomplete-search-index" rel="nofollow" target="_blank" title=""&gt;Two ways of using Redis to build a NoSQL autocomplete search index&lt;/a&gt; 這篇文章所介紹的兩種方法實作輕量化並結合 MySQL 的 Search。&lt;/p&gt;

&lt;p&gt;Admin, Monitor, Analytics 的部份，推薦直接使用 redis-cli 做管理，redis-faina 做原生的 Redis 監控與分析，如果是 Rails app，可以結合 redis_logger 去觀察 slow command。&lt;/p&gt;

&lt;p&gt;其他像是 twemproxy、redis_failover 也是非常實用的工具 (不過我還沒認真玩過)。&lt;/p&gt;

&lt;p&gt;如果對 Redis 有興趣，歡迎加入&lt;a href="https://www.facebook.com/groups/306552142710977/" rel="nofollow" target="_blank" title=""&gt;NoSQL Taiwa&lt;/a&gt;n 的&lt;a href="https://www.facebook.com/groups/322462354478967/" rel="nofollow" target="_blank" title=""&gt;Redis Group&lt;/a&gt; 一起討論。 :)&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Fri, 21 Dec 2012 13:34:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/7746</link>
      <guid>https://ruby-china.org/topics/7746</guid>
    </item>
    <item>
      <title>RedisCaptcha</title>
      <description>&lt;p&gt;因為市面上的 Captcha 用了都不太滿意，要嘛太難閱讀、要嘛原理很奇怪，所以最後就自己寫了一個！目前還在測試中，歡迎大家試用，提供一點意見！&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hellolucky/redis_captcha" rel="nofollow" target="_blank"&gt;https://github.com/hellolucky/redis_captcha&lt;/a&gt;&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Thu, 01 Nov 2012 00:18:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/6448</link>
      <guid>https://ruby-china.org/topics/6448</guid>
    </item>
    <item>
      <title>[ Ruby on Rails ] 重構經驗談 (二)</title>
      <description>&lt;p&gt;第二篇出來了，因為最近很忙，沒辦法花時間重新排版，所以一樣麻煩大家到我的部落格去閱讀，如果有板友願意幫我格式化貼上非常歡迎 :)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-refactoring-experience-talk-2/" rel="nofollow" target="_blank"&gt;http://blog.hellolucky.info/articles/ruby-on-rails-refactoring-experience-talk-2/&lt;/a&gt;&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Thu, 25 Oct 2012 01:29:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/6302</link>
      <guid>https://ruby-china.org/topics/6302</guid>
    </item>
    <item>
      <title>[ Ruby on Rails ] 重構經驗談</title>
      <description>&lt;p&gt;會寫這篇文章的初衷是因為公司當初聘請我最重要的任務就是把網站從 Rails 2.3 升級到 Rails 3.2 並且把整個網站重構。公司網站的規模大概落在 40~50 個 controller 和 model 上下，說大不大說小不小。在整理的過程中，看到了各式各樣慘不忍睹甚至令人噁心的程式碼，加上完全沒有 spec 或 document 的狀況下，導致我必須不斷去揣摩、拆解當初原作者這段程式的想法，同時，還必須靠"想像"原本的 Spec 重新寫出好維護的程式碼。回憶起這段不堪回首的往事真的是非常辛苦，但在把後端整理到可以維護的狀況和把前端的工作切割拋出去給 F2E 以後，回頭想想收穫也不少。所以想藉由這次的經驗做點記錄與分享。&lt;/p&gt;

&lt;p&gt;因為有不少範例，不想花時間重新格式化，所以有興趣的朋友請直接點連結閱讀：&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.hellolucky.info/articles/ruby-on-rails-refactoring-experience-talk/" rel="nofollow" target="_blank"&gt;http://blog.hellolucky.info/articles/ruby-on-rails-refactoring-experience-talk/&lt;/a&gt;&lt;/p&gt;</description>
      <author>hellolucky123</author>
      <pubDate>Sun, 21 Oct 2012 11:05:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/6208</link>
      <guid>https://ruby-china.org/topics/6208</guid>
    </item>
  </channel>
</rss>
