• 用全局变量确实不好,但就这个 load 的多次的情况是有解的:

    # ActiveSupport.on_load(:action_controller) do |base|
    ActiveSupport.on_load(:active_record) do |base|
      $clazz = Clazz.new
    
      p Clazz === $clazz
    end
    

    (两个 callback 都可以)

    不确定你具体需求,如果只需要这个全局变量存活于一个 request 周期内,那 Rails 提供了一个https://api.rubyonrails.org/classes/ActiveSupport/CurrentAttributes.html

  • 这只是你的假设,如果是有人 at 我,至少我会把 at 我的上下文拉出来看的。

    at 你也只是因为这段谈话与你有关,对于其他没有被 at 的人,你参与的这段哪怕是很有价值的讨论,一样是会被埋藏在新 messages 的海洋中,无人问津。

    论坛的核心是人,是圈子

    这个确实,我明显没这个能力做这种社区的冷启动... 可以说是一个人在那意淫一个自己幻想中社区的样子,完了还以为把产品做出来就万事大吉了。。。结果现实 Pia Pia 打脸😥

  • 如果真的有那种小范围社交需求,那么直接组织线下聚会不是更好,再者自己维持一个半开放和更新的社交圈即可,何必上论坛?上论坛本身就是为了争取和更多人交流的可能性

    您这个思路我完全理解,但是就着这个思路他还真解决不了我的问题:

    线下聚会有太多问题, 它有时间,空间,不可沉淀等问题

    • 时间: 时间表匹配的人太有限
    • 空间:严重受限你所在城市甚至国家,全球 Ruby 圈有很多 nice 的 rubyist,我是不太有机会认识和交流的
    • 不可沉淀: 很难让没来的人去了解你们聊的内容

    我就是借个论坛的壳子

    我其实算是探索一种新的以一个社区为界的新社交方式,不要被 “论坛” 两个字限制住了,我就是借论坛的壳子,原因是论坛更适合高质量的交流

    Ruby 其实有好多 chat 类型的群组, RubyConf 微信群, Ruby discord 群,Rubyslack 群,但这些都有一个非常常见的痛点, 信息太多,缺乏组织, 如下图:

    每次打开一大堆未读信息,全部堆在一个窗口里,光是往回翻就能翻我一两分钟。 时间长了,你也懒得去翻了,实在是麻烦。这样社区的内容其实就没有很好沉淀下来,因为不大会有人去回看,所以这种几百上千的群里必定不会有高质量内容。

    而论坛的这种一个 topic 一个 topic 的组织方式其实特别好(这也我喜欢 RubyChina 但不喜欢 RubyConf 微信群的原因)

    同样的,Discord 出了个新功能,叫 thread,并推荐大家在 thread 里去聊,一样也是为了解决这个问题,但其实并没有很好的解决。可这事儿放在传统论坛的范围内,根本就不是问题里,天然的通过 topic 分隔开了。

    传统论坛的问题

    传统论坛的问题,就是人之间的关系太疏离,小虾小米的发言门栏相对微信群,discord 偏高。

    所以两者融合一下, 再配上一些机制,就有了 MonthCamp 这种交流方式

    • 算不上是论坛
    • 也算不上是一个单纯的群组
    • 它更像是 Camp

    三五同好一起出去野营,聊聊 Ruby 见闻,过一个月又换一波。

  • 谢谢鼓励

    国内没有 Camp 这种文化基础,所以这个概念推广起来应该认知阻力不小

    你说的对, 确实不好解释。以下是详细原因:

    在国内做我一直没敢多想,主要觉得可能会面临资质,自我审查之类的问题,完全没经验。 所以就想从技术领域开始做起,做个跨地域的跨国界的,就不会有太多非技术的东西要我去考虑。 而且自己的初衷就是做个 MonthCamp for Rubyist,只是后来觉得好像可以扩散到其他社区,就做成了个平台

    题外话: 发到 RubyChina 是因为发布以后反响特别不好,就想找人聊聊给提点建议。确实也收到很多反馈, 引导我改了两个版, 还是很开心

  • 大多数人上论坛谈论都是希望被更多人看到自己的内容

    这个就已经不是我的想解决的问题了,我就是希望几个人谈论就好了,这是是我的主线,所以您这个担心,其实是我的选择,我解决的是不同的问题

    我不太明白为什么会有人喜欢主动把广播变成组播,只能说互联网上面的话语权可能是不平等的,产生更优质内容的人掌握了更高的话语权,这样有人会希望切割到一个更平等的环境,这个我可以理解。

    我不是想针对话语权做文章,我是希望每个小虾小米都有低门栏表达的空间

    但是即使人减少了,这也依然是一个话语权不平等的场合,你随机把十个人凑到一起,这几个人产生愉快交流的可能性甚至更低了,爆粗口的情况也会增加。

    这个是基于我个人经验也是基于我个人经验来判断的,我就是个喜欢在小范围里分享的人,且希望通过这种方式来慢慢认识跟多的 rubyist.

    • RubyChina,Reddit,Rails forum,Ruby discord 逛了 3 年多了,记得起来的就那么十几个人,且没交流过
    • 一个问题发出来,很快就被某一个人解答了,但其实有不少人也许都想发表一下,却发现已经被讲过了。但我在线下几个人 meetup 的时候就不会有这种问题,我有表达的空间,就是分享所见所得,无所谓别人谈没谈过。
    • 我就希望能有那么几个 rubyist 能在小范围内畅所欲言,且我又希望每个人都能获得这种体验

    所以这个形态算是一种 trade off, 我不可能解决所有问题,我只是在努力解决我想解决的问题。

  • 在吸收了这么多意见后,周末,我又做了一次 UI/UX 的重构, 同时也优化了小尺寸设备上的 UI, 相信现在对新手会非常友好

  • 我这个当前的设置是没有管理员的,社区自发展。 但我也设置一个 Globe 板块的机制:

    1. 小组内如果觉得哪个帖子有意思,希望其他人也能讨论,可以置顶(五人投票)就可以置顶到 Globe

    这样好内容可以沉淀到全社区

    2. 所有的小组讨论全部是公开的,也就是你不需加入这个组,甚至不需要登陆 就可以查看所有内容

    这样内容是可以分享到别的平台去的,之所以这么做,也是我不准备做个传统论坛和聊天软件的替代者,而是做个补充。

    另外, 我觉得很多看不懂的语言... Indie hacker ?? Betin cliff ?? Eubolus cliff ??

    • Indie hacker 是 另一个社区
    • Betin cliff 和 Eubolus cliff 组名

    我之前在 19 楼做了一个比较详细的解释

  • 感谢你的理解

  • 拿论坛来说,没有人会因为你的产品很优秀来用你,做论坛必须要有内容沉淀。homeland 是一个不错的开源项目,但是假如这里不是 rubyist 的聚集地,没有这么多历史内容,你论坛做得再好又有谁会来访问?

    你说的没错,我目前能做的也就是打磨产品,其他方面我是真的暂时没啥头绪

    建议你出门,和社会上各式各样的人多谈谈话。

    赞同

    一个论坛产品的核心就是满足人们八卦、装 B、看妞、寻找共鸣等等这些基础感情需求,因为你真的想要点有深度的东西,看看书,看看论文不香吗?...

    哥们,这个就与我的产品方向相去甚远,有点扯,MonthCamp 不是服务这种需求的

    楼主显然是程序员思维 论坛类产品的核心是运营和推广,产品本身的属性只作为辅助,先搞清楚主次再说吧。

    我做这个 side project 之前,确实保有太多的程序员思维, 这个在我做的过程中就发现这个单一的程序员思维给我带来非常多阻碍。说句执拗的话,这却是当前我有且仅愿意投入精力的部分了,我依然相信会有那么一小部分产品是以产品本身为核心,这次算一次尝试吧。

  • 特别感谢你的鼓励,我一度对这个产品有点失去信心。看到你的鼓励,我觉得我还可以再往前探索探索💪

  • 是的,冷启动好难😭

  • 相亲聊天会十个人聚在一起聊一个月吗? 这就是开个玩笑吧... 您可能没仔细看我的机制设定。

    如果您非要这么严肃的看这个问题,那请问您逛 RubyChina 的动机在哪? RubyChina 的人远超 150 了吧.

    再说回这个泛泛之交,其实人一辈子并不是要和每一个人维护一辈子的关系吧,在人生的每一段都会有几个或者十几个关系还不错的同好对吧,但大部分都不是一辈子的,你可以说那些关系就没有价值吗?

    就像我刚学 Ruby 的时候,是和一群同样不懂 Ruby 的人一起学习的,虽然大部分人都没有继续,或者分道扬镳,但是那些我们共同学习和讨论的日子是相当有价值的啊,但这和所谓的邓巴数字有任何关系吗?明显没有。

    我做 MonthCamp 就是在找一种方式,去复原这种场景,希望可以通过机制来激活每个社区每一个人。

    拿 RubyChina 举例,在国内已经算做的相当好的了,但是真正出来说话的有多少?你又与多少人对话过?从社区运营者的角度来思考这个问题话,明显这个社区还是有优化空间的。

    我不是来做长期关系的,我是想通过机制来降低门栏,让社区里每个人都可以畅所欲言,不会因为别人说过就不可以再次讨论,不会因为自己货太少就不拿出来聊,不会因为人多而有心里压力。

  • 😅 ...

  • 谢谢您了这么详细的反馈。不过我还有些问题想追问下:

    你可以把产品的目标放到需要找点乐子的人身上。

    这个 “找点乐子的人”,有没有更详细点的信息? 我好看看能不能转化成具体需求

    我懒的去认识一些泛泛之交的朋友

    • 我现在这个模式其实不太希望只是泛泛之交,比如我以后可以让群组在满足某种条件下不解散,或者允许开私人群组,你看这样能不能解决这种问题?还是说您有什么别的看法?
    • 您也许在 Ruby 社区也许是已经有足够多的朋友可以交流了,所以不再需要更多的朋友。但是当您进入一个另一个全新的其它社区的时候,MonthCamp 这种模式是不是就会对你有吸引力了呢?
  • 谢谢鼓励

  • 我这个 UX 确实做的不好,我会重新重新设计一下,太晦涩了好多地方

  • Markdown 对于非技术区的不太友好,所以直接用了 Trix。

    好像不能删除帖子。

    这个我也考虑了好久,不太想加删帖,删评论的功能。如果真的想删通过这样编辑也是能做到。也不完全确定,但暂时是这么决定的。

  • 小組討論沒有主持充熱度還是有點難吧

    我的目的就是希望没有主持,10 个人里每一个都可以自由分享,类似线下 Meetup

    而且對於不認識的人,連續討論一個月或者有點長。。。

    设计这个机制的目的就是为了让大家认识了解跟多同一社区里不认识的人。如果时间弄太短可能会影响聊天的质量

    我也设计一个 travel 的机制,每个月可以随机换组 3 次,以防有些人觉得气味不相投

  • Betin cliff 是你当前 camp 所在地的名字, 下面是详细概念解释

    • Land: 社区比如 Ruby, Vlang
    • Season: 一个月视为一个 season
    • Camp:这个就是 group
    • Camp Location: 这个就是 Betin cliff 的来源,它是 camp 当前所在 location 的名字 (我在后台生成了很多 location 以供 camp 使用)

    当初做这个设计是有一点游戏化的考虑的,希望将来可以像游戏地图一样把所有 location 都展示在一张游戏地图上,每个人都可以看到自己当前 camp 所在地的 location

  • Good idea! 搞个视频是个不错的思路 谢谢你的反馈

  • 确实有这个问题,不过我觉得这个只要论坛的 scope 划定的合理应该就问题不大,比如 Ruby 的圈子相对来说比较小,所以直接做 Ruby 社区我觉得看起来还算合理,比如像 JS 这样的社区,可能就需要分开成什么 Vue 社区、React 社区、Node 社区等等...

    当然这都是我觉得,还是需要市场的验证,而且至少得有百人以上的参与才能比较好验证我的想法,可惜就是看起来这个冷启动都困难,可能就像 @FinnG 说的,我这个不太常见,光跟其他人解释都要废不少功夫

  • 谢谢鼓励~ 你说的对,我这个首页确实做的不太好,得花点心思重新折腾一下

  • 确实有参考 Basecamp 的 UI, 但产品形态完全不同

  • 其实是为了一个比较简单的目的,对社区里每一个单个的人来说,你可以认识并深入了解更多的人。以下是详细解释:

    Compare objects:

    • 传统群组和论坛: RubyConf 微信群, RubyChina, Reddit Ruby channel, Ruby Discord channel, Rails discourse forum
    • MonthCamp: 一个由按月随机的 10 人组构建起来的社区

    1. 认识更多的人

    • 你在以下这些传统的群组和论坛里可能泡了一两年顶多也就认识十来个人左右,而且少有交流
    • 但如果在一个 10 人组里(每月随机一次)一年过去了你是有机会深度了解 10 x 12 个 rubyists.

    2. 每个人都有发言的机会与欲望

    • 在传统群组和论坛里,并不是每个人都有好东西可以发出来的,所以大部分时间都是潜水或点赞
    • 但每个人都是有表达欲望的,当把你放在一个 10 人组里时,你的表达欲是极有机会得到满足的,因为你不太会在乎自己说的好不好,因为就是 10 个人之间互现分享所得,非常类似线下 meetup

    3. 一个社区的繁荣昌盛是需要每一个人都活跃起来的

    • 传统的群组和论坛基本都是围绕着几个 Moderators 来运转的,因为他们更愿意分享或者是更有货可以分享,但这样的社区是不是就是社区的最好形态我认为是值得商榷的
    • 而你在一个由按月随机的 10 人组构建起来的社区是有可能变成一个极度活跃的社区的。

    我做这个机制就是想让社区流动起来,能流动起来的社区才更有机会成为一个健康且长久的 Active 的社区