爱意满满的作品展示区。
typcn

纯 C++ 写了一个论坛,求测试

  •  8
     
  •   typcn ·
    typcn · May 7, 2015 · 17893 views
    This topic created in 4203 days ago, the information mentioned may be changed or developed.

    BUG 可能很多,缓存溢出啊,XSS 啊都是有可能的,有问题的话告诉我。

    支持 Markdown 发帖回帖,登陆强制使用 Google Twitter GitHub 的 OAuth

    因为很多配置是写死的,而且代码也比较乱,过几天整理一下,然后写个大致的安装教程,就开源到 GitHub 上。

    服务器放在 Google Cloud 上,用了 CloudFlare 的 SSL。

    URL -> https://leanclub.org/

    Supplement 1  ·  May 7, 2015
    刚刚 502 的问题已修复,在主数据库连接出现问题,返回了空内容的时候,程序依然会尝试渲染 Markdown ,因为指针不存在返回了,返回之后又尝试释放了一次指针,导致 502 ,现在应该没事了
    182 replies  •  2015-07-27 23:35:17 +08:00
    1  2  
    ❮ ❯
    yangff
    yangff
    May 7, 2015 via Android
    1
    过来帮你顶一发 跑)
    Troevil
    Troevil
    May 7, 2015
    2
    速度感人
    powerfj
    powerfj
    May 7, 2015
    3
    有一个问题,为什么用纯C++写..
    kindlepaper
    kindlepaper
    May 7, 2015 via iPhone
    4
    C++好牛逼,好底层,好快啊
    笑尿......
    typcn
    typcn
    OP
    May 7, 2015
    5
    @powerfj 练练手。。。。其实还是闲的蛋疼
    @Troevil 到底是快还是慢呢?我这电信非常快啊,倒是联通连接 CloudFlare 可能有点问题。
    Troevil
    Troevil
    May 7, 2015
    6
    @typcn
    刚刚 :南京电信 不挂代理几乎打不卡
    现在: 貌似正常打开了,是间接性抽风吗。。
    typcn
    typcn
    OP
    May 7, 2015
    7
    @Troevil 现在墙对 CloudFlare 就像对当年的 Google 一样,但是一旦打开的话,内容就有缓存了,再打开就快了
    Troevil
    Troevil
    May 7, 2015
    8
    @typcn 话说使用了pjax吗
    typcn
    typcn
    OP
    May 7, 2015❤️1
    9
    @Troevil 不是用的 pjax 库,但是用了 pushState + ajax
    Arnaud
    Arnaud
    May 7, 2015
    10


    Hello 你好 张国荣来了
    vSignup
    vSignup
    May 7, 2015
    11
    Time: 0.001472s
    ilancelot
    ilancelot
    May 7, 2015
    12
    和你博客一样的主题风格
    msxcms
    msxcms
    May 7, 2015
    13
    其实是汇编写的
    typcn
    typcn
    OP
    May 7, 2015
    14
    @Arnaud 别 spam 到这啊。。。我写的还在测试,水水无所谓。。
    46fo
    46fo
    May 7, 2015
    15
    printf ?
    typcn
    typcn
    OP
    May 7, 2015
    16
    @xdeng 纯 C++ ,boost::asio ,直接监听 80 端口
    typcn
    typcn
    OP
    May 7, 2015
    17
    @xdeng 纯 C++ ,boost::asio ,Socket 直接监听 80 端口
    ugmc
    ugmc
    May 7, 2015
    18
    这速度确实神一般。。。。
    46fo
    46fo
    May 7, 2015
    19
    @typcn 那 怎么 格式化 内容? 解析模板?
    46fo
    46fo
    May 7, 2015
    20
    @typcn 看错了 你这应该是 ajax 异步加载的
    beautifultable
    beautifultable
    May 7, 2015
    21
    间歇502……
    liujiantao
    liujiantao
    May 7, 2015 via Android
    22
    C++写?没必要吧。。。ty肯定是锻炼能力
    typcn
    typcn
    OP
    May 7, 2015
    23
    @xdeng 模板是用的 mustache
    @beautifultable CloudFlare 没有健康检查蛋疼,有的时候由于线程的问题可能会崩掉,所以我开了两个,用 CF 自动分配,看来我得用 HAProxy 了
    vSignup
    vSignup
    May 7, 2015
    24
    @typcn 萝莉你头像呢
    typcn
    typcn
    OP
    May 7, 2015
    25
    @vSignup 吃了!
    typcn
    typcn
    OP
    May 7, 2015
    26
    @beautifultable *** Error in `./leanclub': free(): invalid next size (fast): 0x00007ff0080141f0 *** 找到原因了,一会修修
    Tink
    Tink
    May 7, 2015 via iPhone
    27
    。。。。。
    szieziw
    szieziw
    May 7, 2015
    28
    顶,一直做下去就好了,贵在坚持
    choury
    choury
    May 7, 2015
    29
    你牛逼,我还只是给我的web服务器整了一个C++的cgi接口,你这整个网站都弄出来了
    typcn
    typcn
    OP
    May 7, 2015
    30
    @choury 哈哈,主要还是归功于各种开源库
    BetaLe
    BetaLe
    May 7, 2015 via Android
    31
    很快啊
    choury
    choury
    May 7, 2015
    32
    @typcn 居然还有spdy支持,当初我实现了一个spdy/3.1 但是效率还不如http/1.1,你这部分也开源吗
    Twinkle
    Twinkle
    May 7, 2015
    33
    你厉害..
    typcn
    typcn
    OP
    May 7, 2015
    34
    @choury 其实我只实现了 HTTP ,SPDY 是 CloudFlare 实现的,这部分建议参考 nginx
    choury
    choury
    May 7, 2015
    35
    @typcn 那就算了,我还是直接搞http2吧
    lincanbin
    lincanbin
    May 7, 2015
    36
    http://www.94cb.com/
    有的页面比我用PHP写的还要快两三倍啊。
    搞得我也想用C++重写了。
    evlos
    evlos
    May 7, 2015 via iPhone
    37
    @Arnaud 无意义 Spam @
    chaucerling
    chaucerling
    May 7, 2015
    38
    这酸爽的速度
    evlos
    evlos
    May 7, 2015 via iPhone
    39
    @Arnaud 无意义 Spam @Livid
    itfanr
    itfanr
    May 7, 2015
    40
    牛叉啊 用C++写论坛!
    tinkerer
    tinkerer
    May 7, 2015
    41
    同学, 怎么这样了。。。
    lincanbin
    lincanbin
    May 7, 2015
    42
    @typcn Web Server也是你自己实现的话,你做过并发测试吗?
    Livid
    Livid
    MOD
    PRO
    May 7, 2015 via Android❤️1
    43
    @evlos OK 删掉了两条
    typcn
    typcn
    OP
    May 7, 2015
    44
    @lincanbin 我在本地做了并发测试,反序列化 JSON 并输出,在 4 核的 VM 上两万左右。
    Roboo
    Roboo
    May 7, 2015 via Android
    45
    不错
    VYSE
    VYSE
    May 7, 2015
    46
    原来用http://www.webtoolkit.eu写过一个系统,这个轮子简单些
    zhoujg77
    zhoujg77
    May 7, 2015
    47
    顶!
    udonmai
    udonmai
    May 7, 2015
    48
    好酷啊啊啊,什么时候请务必写篇科普文让我拜读啊
    typcn
    typcn
    OP
    May 7, 2015
    49
    @VYSE 我觉得异步的会好一点
    typcn
    typcn
    OP
    May 7, 2015
    50
    @udonmai 不敢当,代码写的不很好,还在纠结开源
    phx13ye
    phx13ye
    May 7, 2015
    51
    按下一页显示false是什么鬼
    znoodl
    znoodl
    May 7, 2015 via iPad
    52
    其实这个帖子是发给前天问c++能干嘛的那个人看的
    VYSE
    VYSE
    May 7, 2015
    53
    @typcn 那个也用了异步asio,这库后来merge进了boost
    evlos
    evlos
    May 7, 2015
    54
    Time: 0.001795s 是不是用 ms 做单位比较好?可以和其他论坛程序做对比 :)
    typcn
    typcn
    OP
    May 7, 2015
    55
    @phx13ye 下一页空的话应该是“该页面没有任何内容”才对啊
    @evlos 计算时间是按 CPU 时钟的,只能先算出来除以 CLOCK_PER_SEC ,默认是秒,* 1000 就可以了
    800126
    800126
    May 7, 2015 via Smartisan T1
    56
    膜拜中。
    ljcarsenal
    ljcarsenal
    May 8, 2015
    57
    厉害。。。
    wind3110991
    wind3110991
    May 8, 2015
    58
    膜拜下,楼主开源时记得@ 一下我,楼主写c++多少年了?
    wind3110991
    wind3110991
    May 8, 2015
    59
    再mark下,这网页刷新速度真快。。。
    owlsec
    owlsec
    May 8, 2015 via iPhone
    60
    简直屌。。
    LINAICAI
    LINAICAI
    May 8, 2015
    61
    破坏了c++在我心目中的速度形象。。。
    LINAICAI
    LINAICAI
    May 8, 2015
    62
    切换分类好慢好卡的感觉 没有做异步吗
    另外黑色背景好难受啊
    不过好酷的样子
    loading
    loading
    May 8, 2015 via Android
    63
    用的什么数据库,这个性能瓶颈怎么没人问?
    lvfujun
    lvfujun
    May 8, 2015
    64
    @typcn 楼主你写了多长时间才写出这个网站的?
    oimotis
    oimotis
    May 8, 2015
    65
    在手机上看到,直接吓尿了,赶紧爬起床尿尿,顺便用电脑给楼主回个贴支持一下!
    heqichang
    heqichang
    May 8, 2015
    66
    强悍,支持开源顶一个^_^
    init
    init
    May 8, 2015
    67
    开源不? 想学习啊
    silvernoo
    silvernoo
    May 8, 2015
    68
    屌屌哒,关注求开源。
    mahone3297
    mahone3297
    May 8, 2015
    69
    赞一个。。。
    xuhaoyangx
    xuhaoyangx
    May 8, 2015
    70
    速度感人。不知道是不是网速问题
    xuhaoyangx
    xuhaoyangx
    May 8, 2015
    71
    赞一个....
    udonmai
    udonmai
    May 8, 2015
    72
    @typcn 可能你对很多东西要求比较高啦,如果之后优化的好的话,还是很期待开源或者写文章讲讲哒,毕竟 C++ 写 web 是很久以前出现的事情,现在没几个人做过,也不了解。比如我的话,可能能想到的就是先得自己实现一个 cgi,然后如你所说的要有处理 HTTP 请求的功能快,比如 web server,再者是逻辑代码,就像 web 框架,框架也得有很多功能,渲染页面等等。不知道我哪里漏掉了,总之这并不是一个很轻松的任务,至少在我看来,所以我很想看看你的思路,好好学习一番~

    谢谢,总之,加油~
    MrJing1992
    MrJing1992
    May 8, 2015
    73
    牛!
    qqjt
    qqjt
    May 8, 2015
    74
    厉害啊
    udonmai
    udonmai
    May 8, 2015
    75
    @typcn http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm 这个文档看上去还挺人气的,不知道思路一不一样?
    qqjt
    qqjt
    May 8, 2015
    76
    点帖子里的用户名 会404 not found,是还没做用户页吗
    typcn
    typcn
    OP
    May 8, 2015
    77
    @wind3110991 我 16 岁,没多少年。。
    @LINAICAI 为了用户隐私,服务器在国外,如果网络不好会很慢,墙对这个 CDN 对当时的 Google 一样,非常丢包

    @lvfujun 一个星期
    @qqjt 是的还没做
    xieyudi1990
    xieyudi1990
    May 8, 2015
    78
    以前用C用异步socket写过一个论坛系统

    如果只是个人使用, 个人专业有不在前端技术这块, 用C写一个完全不需要太久.
    xieyudi1990
    xieyudi1990
    May 8, 2015
    79
    @xieyudi1990 s/用C写一个完全不需要太久./用C写一个完全是可行的, 且不需要太久./g
    typcn
    typcn
    OP
    May 8, 2015
    80
    @xieyudi1990 纯 C 各种繁琐啊。。麻烦
    ve2x
    ve2x
    May 8, 2015
    81
    Time: 0.000369s
    Winny
    Winny
    May 8, 2015
    82
    好厉害
    ipconfiger
    ipconfiger
    May 8, 2015❤️1
    83
    以前在学校的时候就跟一个硕牛在BBS上打嘴仗,当时用php在写论坛,他非常的看不起各种高级语言,属于汇编原教执主义者,他坚持要跟我比赛写一个BBS,他用汇编。在我的BBS上线后的某一天,他居然跑来注册了,并发帖宣布他的BBS走出了重要的一步,他用汇编重写了整个HTTP协议栈,现在终于可以处理http请求了......
    master13
    master13
    May 8, 2015
    84
    ERR_SSL_VERSION_OR_CIPHER_MISMATCH
    顺便请教一句,C++写的和现在快速开发的论坛相比,优势在哪里?
    lvfujun
    lvfujun
    May 8, 2015
    85
    @typcn 不然你以为为什么要有脚本语言?
    C++写这种网站就只能练练手.如果公司都用c++写网站?那场面太美......不敢想象.
    如果楼主仅仅是抱着锻炼的心态写这个网站是非常好的.要是抱着装X的心态.....还是尽早改正.
    思想最重要语言仅仅只是工具.
    附一个我的替问
    http://v2ex.com/t/185208#reply1
    当我像你这个年纪的时候我还在搞什么抓鸡一类的东西.你比我早几年走上了正道.继续加油吧!
    lvfujun
    lvfujun
    May 8, 2015
    86
    @master13 弊大于利.而且弊要大太多了.
    typcn
    typcn
    OP
    May 8, 2015
    87
    @master13 没啥优势,除非写的性能太渣被攻击之类的。

    @lvfujun 我这是第一次“现学现用” C++ 写大一些的程序,就是想学学,遇到几个崩溃问题还修不了。。。
    typcn
    typcn
    OP
    May 8, 2015
    88
    @master13 是不是 XP ?请使用 HTTP 方式打开
    v2Panda
    v2Panda
    May 8, 2015
    89
    800126
    800126
    May 8, 2015
    90
    围观,可惜没有前排了,很喜欢这种年轻折腾的劲头。
    bestsanmao
    bestsanmao
    May 8, 2015
    91
    c++写web
    杀鸡用牛刀的感觉
    yulgang
    yulgang
    May 8, 2015
    92
    This page (https://leanclub.org/) is currently offline. However, because the site uses CloudFlare's Always Online™ technology you can continue to surf a snapshot of the site. We will keep checking in the background and, as soon as the site comes back, you will automatically be served the live version. Always Online™ is powered by CloudFlare | Hide this Alert
    typcn
    typcn
    OP
    May 8, 2015
    93
    @yulgang 刚刚发现一个导致服务器崩溃的问题,但是不知道哪里错了,所以我用 GDB 重启了一下服务端
    typcn
    typcn
    OP
    May 8, 2015
    94
    @yulgang 点击 Retry for live version 即可
    jsq2627
    jsq2627
    PRO
    May 8, 2015
    95
    @typcn clock() 的精度是 100ms 级的。如果要获得更精确的时间,需要用到平台相关的 API。C++11 新增的 std::chrono::high_resolution_clock 似乎也可以。
    assassinpig
    assassinpig
    May 8, 2015
    96
    觉厉,前来一顶
    jsq2627
    jsq2627
    PRO
    May 8, 2015
    97
    想问问前端用到了哪些框架组件?
    最近也想实现一个布局不复杂,但是细节比较多的界面,如果全部从头写觉得好烦。。。
    typcn
    typcn
    OP
    May 8, 2015
    98
    @jsq2627 好的,谢谢
    @jsq2627 主要是 boost 库,异步 IO 和 Socket ,模板是 mustache
    yangff
    yangff
    May 8, 2015 via Android
    99
    @lvfujun 然而c++纯粹输出JSON的话,其实并没有什么麻烦。
    反正用一些黑魔法可以直接把对象序列化。。不用的话也只是人工标记一下。。有些地方还会更爽其实。。
    hcymk2
    hcymk2
    May 8, 2015
    100
    @typcn
    有时候点下一页 会直接返回false.
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   592 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 136ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.