buaacss 最近的时间轴更新
buaacss

buaacss

V2EX 第 40137 号会员,加入于 2013-06-04 18:43:28 +08:00
用 GayUI 写了个 GayClip
  •  3   
    分享创造  •  buaacss  •  3 天前  •  最后回复来自 buaacss
    8
    Linux port for GacUI 已经基本完成,欢迎体验
  •  5   
    程序员  •  buaacss  •  11 天前  •  最后回复来自 Cooky
    1
    14000 出个 16 年初顶配的 iMac
    二手交易  •  buaacss  •  2021-09-23 08:40:29 AM  •  最后回复来自 nong99
    25
    给 kong 加上 fastcgi 协议,直接转发给 PHP 微服务
    程序员  •  buaacss  •  2021-04-06 19:04:12 PM  •  最后回复来自 buaacss
    7
    给 kong 网关增加 fcgi 协议
    问与答  •  buaacss  •  2020-07-16 20:33:50 PM
    豌豆公主招后端实习生
    酷工作  •  buaacss  •  2017-11-16 19:49:15 PM  •  最后回复来自 buaacss
    4
    会会招聘 iOS 程序媛(员)
    酷工作  •  buaacss  •  2015-07-30 11:20:37 AM  •  最后回复来自 buaacss
    5
    发错了,捂脸
     •  buaacss  •  2015-07-29 20:52:30 PM
    buaacss 最近回复了
    1 天前
    回复了 chaleaochexist 创建的主题 程序员 RPC 和 http 相比优势在哪里?
    楼上有补充强类型的,我也再来贡献各 case 。文本协议比特位翻转导致数据库更新了全表。

    update xxx set a=1,b=2,c=3 where id=xxx;

    被宇宙射线击中后,3 变成了#,导致后面的文本直接变成了注释

    3 的二进制是 00110011
    #的二进制是 00100011

    第一次看到我都吓傻了
    1 天前
    回复了 chaleaochexist 创建的主题 程序员 RPC 和 http 相比优势在哪里?
    开发过一个分布式任务调度系统,我的理解是

    1 、grpc 上带有 context ,可以双向超时+取消,只要长链接中断就可以各自执行中断处理。
    2 、grpc 支持双向 stream ,这对于一些要求获取远程调用实时输出的程序很友好。
    3 、对于一般业务来说和 http 相比没有优势
    3 天前
    回复了 buaacss 创建的主题 分享创造 用 GayUI 写了个 GayClip
    @yangxin0 不懂有什么限制。使用上遵从 apache2.0 ,这是对商业软件最友好的协议了。主要条件是要求保留原始版权和许可声明。

    只是加入了改动了 GayUI 本身的话,要允许社区无条件将其合并进社区。
    当然 port 到其它平台的工作被视为对 GayUI 本身的改动,如果你的平台是一个私有平台,联系轮子哥就好了。

    除此之外没有什么别的限制。
    3 天前
    回复了 buaacss 创建的主题 分享创造 用 GayUI 写了个 GayClip
    更多示例欢迎访问 gaylib 官方主页和 https://github.com/vczh-libraries/gGac 查看
    3 天前
    回复了 buaacss 创建的主题 分享创造 用 GayUI 写了个 GayClip
    @moonkiller 就是快乐 UI 的意思
    3 天前
    回复了 buaacss 创建的主题 分享创造 用 GayUI 写了个 GayClip
    在前几天做好了 GayUI for Linux 的 port 之后,想做个 demo 来秀一下。思来想去决定做个 Gayclip 出来。
    在 Linux 上开发 GayUI 也是一种享受:
    * gGac 自带的 cmake 会将它以动态库的形式安装到本机,使用起来非常方便。
    * GayUI 的最新的 Release 已经可以在 Linux 上执行 GacGen ,于是可以完全在 Linux 上开发 GacUI 应用。

    首先是最基础的记录 Copy 功能,通过 GayUI 的 workflow 脚本定义好 ViewModel 和 Model 接口,只需要寥寥几行 C++代码就可以把数据存储到 sqlite ,并提供完整的搜索、类型切换功能。

    GayUI 自带的 UI 能满足大部分需求,定制起来也是爽的一批。所有可视部分都是可以自己画的,所以对美术有要求的画,自己来写写 template 就搞定了。

    最后是动画,用 GayUI 写动画不能更爽。通过 workflow 定义的 coroutine ,可以将简单动画组合起来,甚至可以手撸贝塞尔曲线动画。
    @zoharSoul 我来说说吧。xxljob 是通过数据库锁实现的调度,gocron 这边是通过 grpc 连接。我不喜欢数据库锁的实现,本质上所有通过数据库实现调度的方案都是有状态的。这就需要精心维护状态机,否则就会出现重复调度或者不调度的问题。试想,数据库锁在任务执行后要更新时数据库崩溃了,服务端崩溃了,导致写锁没有被删除;在主库上执行了写锁,但是从库上没读到等等这类的问题其实都是状态机乱掉了。

    而 gocron 通过 grpc 长连接消除了状态,缺点是如果连接断了任务也会跟着中断。我的认知里任务就是应该可以随时被中断,开发应该负责编写出随时能中断后再执行的任务,这样就可以重试直到成功为止。

    不过无状态是双刃剑,gocorn web 端如果崩了,会导致所有运行中的任务都挂掉,这对一些人来说是绝对不可接受的。
    赞!
    256 天前
    回复了 minuo0day 创建的主题 PHP 关于 PHP 高并发,请教各位
    我说下我们排查这种问题的思路

    1 、首先可以开一下阿里云 slb 的访问日志,你要先分析出所有的请求里哪些接口的请求是最多的,哪些是最慢的。sls 非常方便做统计和排查,比如访问最多的前 10 个 request_uri:
    * | select request_uri, count(*) as cnt group by request_uri order by cnt desc limit 10 ,如果你的 request_uri 带有不同的 get 参数,可以用 split 处理一下;
    访问最慢的* | select request_uri, request_time where request_time > 3 order by request_time desc

    后面你说服务器 load 20%都上不去,要先确定 slb 这里有没有问题,因为 slb 的规格非常重要,首先您要看这里有没有丢弃的流量

    2 、做好全平台监控。可以快速使用 cloudmonitor 建立全平台的监控大盘,包括 slb 、ecs 、memcache 、redis 、rds 、nat 。所有资源的 cpu 、内存、连接数使用率。

    3 、做压测,在压测的时候看哪块是瓶颈,可以针对性优化。
    1 、opcache 有没有开
    2 、ecs sys 有没有很高,如果有可以通过 strace 或者 perf 看是什么系统调用占用导致
    3 、全平台监控看哪儿有具体的瓶颈
    4 、用 xhprof 看具体的 php 函数指标,找出调用链上的瓶颈

    4 、优化
    通过你的描述,比如创建临时采集点的时候,如果是录入信息太多,可否先用 mns 来写入到一个 queue 里,php 这边启动几个 consumer 来写入数据库,同时刷一个 memcache 缓存,前端可以通过查询缓存的方式来避免数据库的压力


    其他的信息还比较少,暂时能想到的就这些,祝好运
    这竟然是好几年前的帖子了,最近折腾猫棒,需要在修改光猫配置和上网搜索间反复横跳,来回切 wifi 太恶心了。

    因为我的路由器没有刷 dd ,所以全命令行操作

    首先是桥接到光猫,光猫网络 192.168.1.0/24 ,路由器网络 192.168.0.1/24 。

    路由器上可以看到一张 brwan 的网卡,在 wan 网卡上设置一个新的接口,让它和光猫在一个网段

    ifconfig brwan:0 192.168.1.2

    然后如果你只需要通过路由器来访问光猫,那只需要确保路由器本身的 INPUT 和 OUTPUT 别被防火墙拦截就可以了

    iptables -I INPUT -j ACCEPT
    iptables -I OUTPUT -j ACCEPT

    如果你需要在 192.168.0.1/24 的局域网里访问光猫,则还需要保证 FORWARD 能通过防火墙,并做一个到 192.168.1.1 的 snat ,要注意这里的设别是 brwan 而不是 brwan:0

    iptables -I FORWARD -j ACCEPT
    iptables -t nat -I POSTROUTING -d 192.168.1.1 -o brwan -j MASQUERADE
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   4880 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.