• 折腾了一下 serverless,把服务搭到了 vercel,demo URL:https://ruby-china-graphql-api.vercel.app/api/graphql

  • 牛逼!果断点赞关注

  • 其实以 code 的形式后面有一个好处就是每一个 node 或者 cluster 都可以存为一个变量,然后架构图的组装就只需要箭头衔接即可。我想想看怎么优化一下用户体验

  • 刚刚按回车不小心点到提交了。。

  • 新增了对新人友好的 GraphiQL explorer 插件,点击功能按钮中的 “Explorer”,打开左侧栏的操作界面,可以通过勾选的方式来组成 query

  • 嗯,Fastify 是框架官方对 Typescript 支持做的最好的,选用这套技术的初心就是 TS+GraphQL 配合有无与伦比的开发体验。

    做中间件,感觉就像在一个黑盒子里面摸东西,是各种不确定性在给人带来恐惧。

  • @ericguo @shin 谢谢支持~

  • 感觉我现在的公司(在法国)和你们公司的业务好像啊,我们的 dsp 也是用 Rails 写的,不过我现在转前端了,有空可以聊聊~

  • 前后端分裂 at 2018年01月08日

    看完了 @Rei 分享的 “下拉框” 故事,产生了极强的共鸣,也写下我自己的一些经历和理解,供大家讨论。

    事实上,我司现在的做法,比 Rei 描述的那些 “不可理喻” 有过之而无不及:我们有三层,前端(Vue.js SPA),中间层(GraphQL),后端(各语言框架的 Microservices)。所以如果我们要给一个下拉框增加一个选项,要在后端实现,在 GraphQL 做 resolver,并在前端做对应修改。在我看来只用半个小时的事情,可以花上一天(虽然你等待别人完成任务的时间可以做别的事)。

    最后同事让我放宽心,跟我说:“You are hired to make things complicated”,然后我给他回了个呵呵的 emoji 🙂

  • 因为你也没说具体是什么报错,所以我猜可能是这个原因😅

  • @runup 我感觉是因为你没制定大图片 version 导致的问题

    如果你有定义图片版本的代码,类似

    version :thumb do
      process :resize_to_fit => [50, 50]
    end
    

    那么你在 view 里面想指定使用这个 thumb 版本的图片,可以这么写

    <%= image_tag @resume.attachment_url(:thumb) %>
    

    你可以试试

  • View 里面的生成图片链接的代码和你制定的大图片的 version 名字贴出来看看

  • 字符串插入的问题 at 2016年08月31日

    If replacement is a String it will be substituted for the matched text. It may contain back-references to the pattern's capture groups of the form \\d, where d is a group number, or \\k<n>, where n is a group name.

    "hello".gsub(/([aeiou])/, '<\1>')             #=> "h<e>ll<o>"
    "hello".gsub(/(?<foo>[aeiou])/, '{\k<foo>}')  #=> "h{e}ll{o}"
    
  • 看到法国人,出来冒个泡,在法国七年,现在已熟练掌握法语口音的英语 😄

  • array.flatten 怎么实现的 at 2016年05月24日

    使用 markdown 方便你我他

  • 入职员工可以看到高清无码王尼玛真人么?

  • 如何提高自己的技术 at 2016年05月21日

    你身边能给你 “刺激” 的人或物太少了,而缺少刺激的可能性有好几种,我认为最有可能的情况是:你的眼界还太窄了,社交圈很有限。

    我无意冒犯,可能在学一门新技术或跳槽一个新工作之前,多交些厉害的朋友,多去些有趣的地方,多读些有意义的书。也许这样,你能更明白自己想要的是什么,也更有动力去变成一个更好的自己。

  • Rails 后台页面的样式 at 2016年05月19日

    样式的话,你是说 CSS 咯,那就在 app/assets/stylesheets里面创建一个单独的 CSS,叫它applicaiton-back.scss

    然后在你的后台的根 layout 里再单独引用这个样式就好了呀

  • 不过这四套方案中,都把 turbolinks 拿掉了。我个人是很喜欢 turbolinks 的,所以怎么权衡看大家喜好。

    btw gem 'vuejs-rails' 也建议把 turbolinks 禁用的

  • 楼主翻译的这篇教程是 14 年的,那时候还习惯用 coffee 写 React

    其实 jsx 挺好的,可以尝试 react-rails 这个 gem,是一个比较简单无脑的集成方法

  • #5 楼 @kouunn 楼上的意思是,你可以把你的初始化代码放到 application.js 中,把它放到一个 $(document).ready(function(){});的闭包里。

    如果你用的是 Turbolinks 3,把

    $(document).ready(function(){
      // 初始化你的canvas...
    });
    // 替换成
    $(document).on('page:load', function(){
      // code...
    });
    

    如果是 Turbolinks 5

    // 替换成
    $(document).on('turbolinks:load', function(){
      // code...
    });
    
    1. 试试把 Turbolink 禁用掉
    2. 下次别贴这么长的代码了
  • 问题解决了,谢谢楼上各位给的建议 😄

    我的做法是统一在一个文件中(或者直接在 application.coffee 里面)绑定所有事件:

    $(document).on
      'turbolinks:load': ->
        # 此处绑定全局事件
        App.init()
    
    $(document).on
      'turbolinks:before-cache': ->
        # 此处解绑原先会出现多次的事件,比如dataTables
        $('[selector-dataTables]').dataTable().fnDestroy()
    
    

    没有用 jquery.turbolinks ,目前感觉良好。

  • @qinfanpeng 感谢回复 😄 但是应该是排除了 jquery.turbolinks 没生效的可能性,在加上它和去掉它还是有区别的。

    @billy 感谢回复 😄 ,正如你所说,所有绑定都是写法一,而且没有提供解绑的 API。我昨天看了好多社区管理员 side project 里面的做法,对 “解绑事件” 有了一些认识。

    也就是说我要做类似:

    $(document).off('click', '.theme-specific-class', function(){})
    $(document).on('click', '.theme-specific-class', function(){...})
    

    这样的事情吗?

    看起来我是不是该换一个 theme 了…