首页   注册   登录
 stevenkang 最近的时间轴更新

stevenkang

V2EX 第 122674 号会员,加入于 2015-06-17 09:38:13 +08:00
阿里云 MVP 最有价值专家。
云栖博客:https://yq.aliyun.com/u/stevenkang
分享给大家一个手机机型代码库
API  •  stevenkang  •  48 天前  •  最后回复来自 akira
11
v 友门,有没有这样的网站
互联网  •  stevenkang  •  41 天前  •  最后回复来自 chnwine
41
做程序员和做生意哪个更好?
  •  1   
    程序员  •  stevenkang  •  61 天前  •  最后回复来自 freedomSky
    39
    分享一个找回密码的骚操作,一汽大众
    信息安全  •  stevenkang  •  67 天前  •  最后回复来自 acehow
    3
    这么多天过去了,我们来说说阿里云 6·27 故障赔付
    云计算  •  stevenkang  •  2018-07-13 23:37:01 PM  •  最后回复来自 chinaglwo
    12
    MySQL 5.6 排序数据丢失的诡异现象
    MySQL  •  stevenkang  •  2018-06-26 09:59:28 AM  •  最后回复来自 Ravenddd
    12
    stevenkang 最近回复了
    ====== 抽象类 ======
    C2 可以开自动挡,C1 不仅可以开自动挡。这时候我们理解为 C2 或者 C2 以及以上的,均可以开自动挡,这就是抽象类(不用管你是 C1 还是 C2,只要是 C2 以及以上,均可以调用开自动挡)

    ====== 接口 ======
    C2 和 C1 都是驾照(实现了驾照接口),然后有驾照都可以开车,于是:
    驾照 jz1 = new C1 ()
    驾照 jz2 = new C2 ()

    jz1.可以开车()
    jz2.可以开车()

    ====== 总结 ======
    有了抽象类和接口的概念,对于交警(使用者)来说,不用管你具体实现是考的 C1 还是 C2,是不是很方便?
    @sun2920989 这里应该可以不限语言,各个语言都可以这样写。put 的时候是初始化 type 和处理的映射,可以用多种方式初始化,不一定 new。

    @kkkkkrua 对,加上 spring 的一些特性,写出来更优雅。这里没有专门突出 spirng 是方便其他语言的使用者也可以参考、讨论研究。

    @jadec0der 表驱动法,优势是不是更方便增、减 type 以及热插拔?
    @pastgift 对,灵活应用更重要。这里探讨一下这三种方式也是比较各自的优缺点,方便在使用时灵活应对。

    @geelaw C 语言里面的知识吗?
    3 天前
    回复了 ZhengZW 创建的主题 程序员 各位在工作中设计模式到底用得多吗?
    请教大家一下,这算不算一种模式呀?

    原来的
    ```
    void typeProfcess(type) {
    if (type == 'A1') {
    // todo something
    } else if (type == 'B2') {
    // todo something
    } else {
    // todo something
    }
    }
    ```
    改造后
    ```
    static {
    typeprocess.put('A1', a1TypeProcessListener)
    typeprocess.put('A2', b2TypeProcessListener)
    default = defaultTypeProcessListener
    }

    void typeProfcess(type) {
    listener = typeprocess.containsKey(type) ? typeprocess.get(type) : default
    listener.exec()
    }

    ```
    这样无论以后的 type 多复杂,只需要初始化的时候 put 进去对应的处理就好了。
    特别是第三方系统各种报文 type,以前用 if 或者 switch 处理,这样改造了会不会更好?
    3 天前
    回复了 dothis 创建的主题 程序员 kaixinyong.com-'开心用'、是学费么?
    无含义:4kb.cn ¥400
    小哀:xiaoi.me ¥89

    不知道算不算学费
    进去和领导一起抽
    直传到文件服务器上(不经过服务器进行中转,几乎 0 宽带消耗),例如 OSS,Java 只需要提供签名,这样服务器的带宽就可以容纳更高并发的上传了
    @oneisall8955 前段时间经常说别的公司加班,现在没有紧急的事都是第二天来弄,很少加班了
    12 天前
    回复了 chaleaochexist 创建的主题 程序员 日志的粒度请教?
    总结了以下几点:

    1、API 的 I/O 日志,也就是请求参数和响应内容记录日志,这相当于整个系统的大门了,访问日志在排错、性能分析等方面非常有用;

    2、第三方 API 的 I/O 日志,也就是请求第三方 API 发送了哪些参数,第三方 API 又响应了哪些参数,这有利于分析传递的数据是否正确;

    3、异常块,所有捕获异常的位置均应当记录异常内容,除非一些用于业务逻辑判断的异常块(例如:利用异常来判断某个字符串是否能转换等);

    4、非正常请求,例如请求某个 API 报了 403,应当记录 >= WARN 级别的日志,这里和 #1 的区别是,#1 无论正常还是异常均记录请求、响应内容,这里的应当记录更加详细的内容,例如为什么会产生 403 响应,并且日志级别应当更高,方便分析、优化;

    5、应用启停日志,在启动应用进行初始化时,应当记录各个参数的情况,便于在启动时遇到问题进行定位。同理,在应用停止的时候(特别是异常停止),应当记录详细的运行状况、运行参数等日志;

    6、其他日志,根据实际业务情况需要,应当记录其他日志,例如调用短信接口时记录短信用量、剩余量等,这样可以通过编写日志报警规则来实现短信余额不足预警功能;
    12 天前
    回复了 zero47 创建的主题 程序员 关于数据加工,前端后端责任讨论
    前端负责数据格式化显示,后端负责提供基础数据。

    典型案例:某个数据为 10%,后端应当返回 0.1 而不是 10%,应当由前端将 0.1 格式化为 10%

    同理,某个数据为 10 万,后端应当返回 100000 而不是 10 (万),应当由前端将 100000 格式化为 10 万

    理由:后端并不知道如何显示数据更好,后端只需要提供统一规范的基础数据,前端与用户体验有关,根据实际情况转换为不同格式的数据进行展示即可
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2095 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 15:22 · PVG 23:22 · LAX 08:22 · JFK 11:22
    ♥ Do have faith in what you're doing.