• First RubyMotion Meetup at 2013年05月17日

    坛子里有没有仔细研究RubyMotion的同学?

    iOS-Dev社区很多人都有Ruby\Rails的经验,但RubyMotion(包括MacRuby)貌似并不是很流行。 我想原因可能是很多人不喜欢黑盒子,如果弄不清盒子里面是怎么工作的,用起来总是怕怕的,一旦出问题就死定了。 不知道使用RubyMotion有没有这种问题。

  • 老家也有Ruby聚会了....

  • 别说xib,就是一般的source code文件,频繁出现两人同时修改的情况,就应该反思以下,是这个class/文件是不是该拆分以下了,或者是不是和partener分工不太协调。

    我们的经验是:

    1. 在UI的动态条件不是太多的情况下,用xib能更加直观、更易维护,另外对universal(iphone/ipad)支持起来也方便 。
    2. 单xib包含的view复杂度,应该根据实际情况进行调整,宜小不宜大。有公用的就抽取出来。

    至于冲突的情况

    1. 大规模增删项目文件,应跟partener打好招呼,让他们先check-in, 防止project文件冲突。
    2. xib文件最好自己修改自己的

    一般规模的iOS项目,三个coder以上就该分角色了(UI/交互层/动画效果), coding时大家各忙各的。

  • #26楼 @fleuria 你说的乌云那个?还是http://ww1.sinaimg.cn/large/7cc829d3gw1dxb5e12xacj.jpg 这个。 乌云号称拿到漏洞但不敢下手。后者是铁道部网站货运服务的,跟订票的关系不大吧。

    不过以网站的粗糙程度,不排除订票服务里也会手写SQL。

  • 有重度国内“中底”用户的网站是不能用Alexa做流量估计的。这点上Alexa严重不靠谱。

    新浪微博上喷12360都不是很专业,找的一堆问题都是外围模块的,跟订票没啥关系。

    这种高并发的业务,比支付宝不相上下。短短1天,要接受上千万的订票需求。天极在这上面没多少积累。话又说回来,国内公司有几个有这种积累的?

    另外3亿这个数字,如果是真的话,那铁道部真是”太廉洁“了,资金利用率最起码再80%以上,只拿20%的回扣?打死我不信。

  • 发送 APN at 2012年07月08日

    #5楼 @linjunpop

    我没有尝试将em-apn放到thin/mongrel/unicorn上。 我认为这么做貌似不太合适。

    我的做法是将em-apn做成一个独立的进程, 并使用EM.add_periodic_time每秒从JobQueue中取一个APNS任务。

    代码如下:

    EM.run do
      client = EM::APN::Client.connect
      # client.deliver(EM::APN::Notification.new(token, "alert" => alert))
    
      client.on_error do |response|
        EM::APN.logger.info "response #{response.inspect}"
      end
      max_reconnect = MAX_RECONNECT
      client.on_close do
          if $running
            if max_reconnect>0
              EM::APN.logger.info "attempt reconnect,  reconnect avaliable: #{max_reconnect}" 
              conn = client.connection
              conn.close_connection
              client.connect
              EM::APN.logger.info "success reconnected!" 
              max_reconnect-=1
            else
              EM::APN.logger.info "max reconnect reached, exsit"
              EM.stop_event_loop
            end
          end
        end
      # Hopefully give ourselves enough time to receive a response on failure.
      # Wish there was a better way to do this. Or at least a more timely way.  
      EM.add_periodic_timer($interval) { 
        while job = $em_apns_worker.fetch_job
          client.deliver(job.to_notification)
        end
      }
    end
    
  • [杭州] The Plant 招人 at 2012年05月17日

    他们的App也是你们做的? 不错哎.

  • #1楼 @bl0ckme 大量使用block貌似会retain住调用方,导致很多对象无法释放。 不知道你遇到过这个问题没。

  • 发送 APN at 2012年05月13日

    #1楼 @allenwei apn_sender不支持enhence_format, 属于单向的socket写入,没有获取socket上行数据的功能。

    我后来在em_apn上做了些改造,基于event_machine, 性能和稳定性提高了不少,很少出现APN无故失效的情况了。另外用enhence_format也可以知道消息发出去apple的应答,便于发现问题及时调整。

    另外一个很容易出问题的地方:订阅Feedback删除失效token时,一定要判断失效日期,否则很有可能把一个正常的token删除掉。

06年~08年: Java 07年~12年: Ruby 11年~现在: Objective-C