精华内容
下载资源
问答
  • 我看好多回答里说,程序员之所以干不长,那是因为经验不值钱,老程序员年轻人没有区别,还不能加班,所以自然不受老板待见。我特别不理解,这么荒谬,不合逻辑的言论为什么还会有人相信。我可以非常肯定的说,在...

    程序员职业生涯真的很短吗?

    不短,我就是明证!我今年44岁,世界500强公司,编程20年,软件技术专家,一直都在编程一线,从来离开过。技术上,我深入的使用过Java、.net、Js等等。也许吧,我勉强算的上一个“全栈工程师”。

    我看好多回答里说,程序员之所以干不长,那是因为经验不值钱,老程序员和年轻人没有区别,还不能加班,所以自然不受老板待见。我特别不理解,这么荒谬,不合逻辑的言论为什么还会有人相信。我可以非常肯定的说,在软件开发这个行业,只要不虚度光阴,时间会给你丰厚的回报,会建立足够的门槛,保证你长期在这个赛道上。

    在很大程度上,程序员就是一个“复制粘贴”的职业,因为大部分企业中的大部分程序员,在工作中都不会遇到独一无二的问题,我们碰到的问题,早就有了成熟的答案,所谓的研究过程,不是去发明答案,而是去发现答案。

    目前现在是需求量趋于平衡,对初中级水平的开发人员需求量变少,但是对高级以上的需求市场还是很匮乏,特别是对于特定细分领域的Android开发人员也是很匮乏,对Android开发的综合能力,特别是基础原理性要求也越来越高,比如很多公司要求会对对某项要求会优先考虑,比如现在流行的Kotlin,混合开发,跨平台开发,NDK,高级图像处理等,市场上很火爆的直播和小视频对音视频这个细分领域的高级人才需求量也是比较大的,以至于AI、AR、VR等技术也需要通过终端展示给用户,所以说移动端开发未来还是会有所作为。

    要求

    所以目前我们要选好自己细分领域深入研究,对基础原理性内容深入理解,尽快向高级水平靠近并达到。当然也要了解新技术,拥有开放的心态去学习一些新技术,不要一开始出来一个新技术就转入学习,这样会导致啥都会一点啥都不会,当然新技术是有一个发展过程的,不会立马流行和大量应用等它稍微成熟点,这样你会少踩很多坑,也不要排斥它,完全不去理会和了解学习,正确的方式是简单了解这个技术产生是为了解决什么问题,有什么优缺点已经目前发展成熟度和应用范围,我们还是要多抓住技术的本质和基础,这样出现了新技术学起来也会很轻松,当然机会合适了再去学习它。

    所以,找准自己的定位及细分领域。

    这里我归类了如下几类:

    1、应用层开发,不限于各种产品,主要还是Android原生开发,主要是各种性能优化。

    2、嵌入式开发,不限于各种开发板子,物联网,智能家居,车联网/车载

    3、安全开发,不限于各种反逆向,反汇编,寻找安全漏洞

    4、音视频开发,不限于直播、点播、音视频通话、音视频会议,短视频等

    5、插件化、组件化、热修复开发,不限于自研和使用开源框架集成开发

    6、系统开发(Android),不限于Rom维护和FrameWork层定制需求

    7、图形图像开发,不限于OpenGL ES,EGL,GLSurfaceView,滤镜,美颜

    8、小程序 / 快应用

    小程序是基于微信这个亿级流量入口所衍生出来的产品,而快应用,快应用是九大手机厂商基于硬件平台共同推出的新型应用生态。用户无需下载安装,即点即用,享受原生应用的性能体验,不过个人觉得,他已经凉凉了,小程序倒是挺看好的,腾讯这座大山,微信这座凉亭,你想不凉快都难,不过看你是否刚需,比如你公司有需求,那你可以去学习。

    推荐学习的新技术,Flutter和Kotlin,这两个都是Google推荐的。

    Flutter

    Flutter是Google在2018年2月27日,在2018世界移动大会上发布的用以帮助开发者在ios和Android两个平台开发高质量原生应用的全新移动UI框架

    由于是是Google发布的,就前景来看,还是值得肯定的。

    Kotlin

    Kotlin 是Google推荐的官方开发语言,与Java互通,可相互转换,简洁安全等,是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由JetBrains 设计开发并开源,

    Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。

    推荐学习资料


    • 脑图
      360°全方位性能调优


      由于文章篇幅问题点击链接查看详细文章以及获取学习笔记:GitHub

    E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**

    展开全文
  • Java中的基本类型引用类型变量的区别 学了一年多,说实话你要我说这些东西我是真说不出来是啥意思 基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。 引用类型: 是一...

    Java中的基本类型和引用类型变量的区别

     
    学了一年多,说实话你要我说这些东西我是真说不出来是啥意思
     
     

    基本类型:

    基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。

    引用类型:

    是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。 

    举例说明:   

     int  a;  
     a=250; //声明变量a的同时,系统给a分配了空间。

    引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么,整数,字符?我们看一个错误的例子:

    MyDate today;

    today.day = 4; //发生错误,因为today对象的数据空间未分配。

    那我们怎么给它赋值?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子:

    MyDate today;            //将变量分配一个保存引用的空间

    today = new MyDate();     //这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作

    //引用变量赋值

    MyDate a,b;                    //在内存开辟两个引用空间

    a  =  new MyDate();     //开辟MyDate对象的数据空间,并把该空间的首地址赋给a

    b  =  a;                               //将a存储空间中的地址写到b的存储空间中

    如下图示

    引用传递 和 值传递

    引用类型:除了在函数传值的时候是"引用传递",在任何用"="向对象变量赋值的时候都是"引用传递"。

    值传递:基本类型的传递都属于值传递,和C语言一样,当把Java的基本数据类型(如 int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函 数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为"值 传递"。

    转载于:https://www.cnblogs.com/www123----/p/7797256.html

    展开全文
  • 1. 实际销售额=预估销售额...季节变动是指客观现象由于受自然因素生产或生活条件的影响,在一年内随着季节的更换而引起的比较有规律的,可以预测的周期变动。循环变动的周期在一年以上,且周期长短不同,没有固定的变

    1. 实际销售额=预估销售额(假设季节无影响)*季节指数

    2. 有三个企业的年利润额分别是5000万元、8000万元和3900万元,则这句话中有( )个变量

    答案:2个变量,企业&年利润额

    4.周末超市的营销额常常会高于平常,这种波动属于

    正确答案: C

    长期趋势
    循环变动
    季节变动
    不规则变动

    季节变动和循环变动的区别:
    季节变动是指客观现象由于受自然因素和生产或生活条件的影响,在一年内随着季节的更换而引起的比较有规律的,可以预测的周期变动。循环变动的周期在一年以上,且周期长短不同,没有固定的变动期限和明显的规律性,很难事先预知

    10. 已知甲、乙两班学生统计学考试成绩:甲班平均分为70分,标准差为7.5分;乙班平均分为75分,标准差为7.5分。由此可知两个班考试成绩的离散程度

    正确答案: A

    甲班较大
    乙班较大
    两班相同
    无法作比较

    解:
    变异系数 cv = σμ\frac{\sigma}{\mu}。当需要比较两组数据离散程度大小的时候,如果两组数据的测量尺度相差太大,或者数据量纲的不同,直接使用标准差来进行比较不合适,此时就应当消除测量尺度和量纲的影响,而变异系数可以做到这一点,它是原始数据标准差与原始数据平均数的比。CV没有量纲,这样就可以进行客观比较了。事实上,可以认为变异系数和极差、标准差和方差一样,都是反映数据离散程度的绝对值。其数据大小不仅受变量值离散程度的影响,而且还受变量值平均水平大小的影响。

    12.置信概率表达了区间估计的

    正确答案: B

    精准性
    可靠性
    显著性
    规范性

    解:
    置信概率 = 1 - α\alpha
    置信区间的长度反映了估计的精确程度

    13.AARRR模型分别对应用户生命周期中的每个阶段。以下不属于某个阶段的是

    正确答案: C

    Activation
    Revenue
    Requirement
    Acquisition

    AARRR是Acquisition、Activation、Retention、Revenue、Referral,五个单词的缩写,分别对应用户生命周期中的5个。以下以移动应用为例简单讲解AARRR模型每个阶段。
    用户获取(Acquisition)
    运营一款移动应用的第一步,毫无疑问是获取用户,也就是大家通常所说的推广。如果没有用户,就谈不上运营。
    用户激活(Activation)
    很多用户可能是通过终端预置(刷机)、广告等不同的渠道进入应用的,这些用户是被动地进入应用的。如何把他们转化为活跃用户,是运营者面临的第一个问题。
    当然,这里面一个重要的因素是推广渠道的质量。差的推广渠道带来的是大量的一次性用户,也就是那种启动一次,但是再也不会使用的那种用户。严格意义上说,这种不能算是真正的用户。好的推广渠道往往是有针对性地圈定了目标人群,他们带来的用户和应用设计时设定的目标人群有很大吻合度,这样的用户通常比较容易成为活跃用户。另外,挑选推广渠道的时候一定要先分析自己应用的特性(例如是否小众应用)以及目标人群。对别人来说是个好的推广渠道,对你却不一定合适。
    另一个重要的因素是产品本身是否能在最初使用的几十秒钟内抓住用户。再有内涵的应用,如果给人的第一印象不好,也会“相亲”失败,成为“娶不到媳妇的老大难”。
    此外,还有些应用会通过体验良好的新手教程来吸引新用户,这在游戏行业尤其突出。
    用户留存(Retention)
    有些应用在解决了活跃度的问题以后,又发现了另一个问题:“用户来得快、走得也快”。有时候我们也说是这款应用没有用户粘性。
    我们都知道,通常保留一个老客户的成本要远远低于获取一个新客户的成本。所以狗熊掰玉米(拿一个、丢一个)的情况是应用运营的大忌。但是很多应用确实并不清楚用户是在什么时间流失的,于是一方面他们不断地开拓新用户,另一方面又不断地有大量用户流失。
    解决这个问题首先需要通过日留存率、周留存率、月留存率等指标监控应用的用户流失情况,并采取相应的手段在用户流失之前,激励这些用户继续使用应用。
    留存率跟应用的类型也有很大关系。通常来说,工具类应用的首月留存率可能普遍比游戏类的首月留存率要高。
    获得收益(Revenue)
    获取收入其实是应用运营最核心的一块。极少有人开发一款应用只是纯粹出于兴趣,绝大多数开发者最关心的就是收入。即使是免费应用,也应该有其盈利的模式。
    收入有很多种来源,主要的有三种:付费应用、应用内付费、以及广告。付费应用在国内的接受程度很低,包括Google Play Store在中国也只推免费应用。在国内,广告是大部分开发者的收入来源,而应用内付费在游戏行业应用比较多。
    无论是以上哪一种,收入都直接或间接来自用户。所以,前面所提的提高活跃度、提高留存率,对获取收入来说,是必需的基础。用户基数大了,收入才有可能上量。
    推荐传播(Referral)
    以前的运营模型到第四个层次就结束了,但是社交网络的兴起,使得运营增加了一个方面,就是基于社交网络的病毒式传播,这已经成为获取用户的一个新途径。这个方式的成本很低,而且效果有可能非常好;唯一的前提是产品自身要足够好,有很好的口碑。
    从自传播到再次获取新用户,应用运营形成了一个螺旋式上升的轨道。而那些优秀的应用就很好地利用了这个轨道,不断扩大自己的用户群体。
    通过上述这个AARRR模型,我们看到获取用户(推广)只是整个应用运营中的第一步,好戏都还在后头。如果只看推广,不重视运营中的其它几个层次,任由用户自生自灭,那么应用的前景必定是暗淡的。

    14.下面哪一项是属于用户自主访问流量?

    正确答案: B 你的答案: A (错误)

    通过淘宝搜索来的流量
    用户从自己的购物车收藏夹里来的流量
    通过一套搜索来的流量
    从商城首页来的流量

    自主访问定义:
    自主访问是指用户可以按照自己的意愿,通过在浏览器输入网址或者通过淘宝收藏夹的链接,或者通过其他推广方式的链接直接对淘宝某店铺进行访问,也就是我们通过链接进入店铺或者商品,而不是通过搜索进入。 自主访问大多数都是为老客户或者有下单意愿的客户。

    自主访问就是直接访问,指用户通过在浏览器上直接输入网址书签对网站进行访问的行为。

    具体是指访客直接在浏览器里输入您店铺的链接,或者通过浏览器收藏夹里您店铺的链接,或者某店铺推广时访客直接复制该店铺链接进行访问的方式。

    15.以下哪个指标,是指只访问了入口页面(例如网站首页)就离开的访问量与所产生总访问量的百分比

    正确答案: D

    页面转化率
    页面二跳率
    页面点击率
    页面跳出率

    转化率:转化率指在一个统计周期内,完成转化推广信息页面到达的次数的比率。计算公式为:转化率=(转化/转化次数)×100%。例如:10名买家看到某个搜索推广的结果,其中5名买家点击了某一推广结果并被跳转到目标URL上,之后,其中2名买家有了后续转化的行为。那么,这条推广结果的转化率就是(2/5)×100%=40%。 转化率是网站最终能否盈利的核心,提升网站转化率是网站综合运营实力的结果。

    二跳率:二跳率的概念是当网站页面展开后,用户在页面上产生的首次点击被称为“二跳”,二跳的次数即为“二跳量”。二跳量与到达量(进入网站的人)的比值称为页面的二跳率。这是一个衡量外部流量质量的重要指标。

    点击率:点击率是指网站页面上某一内容被点击的次数与被显示次数之比,即clicks/views,它是一个百分比。反映了网页上某一内容的受关注程度,经常用来衡量广告的吸引程度。如果该网页被打开了1000次,而该网页上某一广告被点击了10次,那么该广告的点击率为:1%

    跳出率:跳出率是指在只访问了入口页面(例如网站首页)就离开的访问量与所产生总访问量的百分比。跳出率计算公式:跳出率=访问一个页面后离开网站的次数/总访问次数

    16. 以下是一家电商网站的一周销售数据,该网站主要用户群是办公室女性,销售额主要集中在5种产品上,如果你是这家公司的分析师

    a) 从数据中,你看到了什么问题?你觉得背后的原因是什么?
    b) 通过数据,你会提出哪些运营改进策略?
    表如下:一组每天某网站的销售数据在这里插入图片描述
    Ref
    从图中数据很明显的就能看出,周末两天的销售额明显低于工作日的每天销售额,而工作日当中,周一销售额最高,周二其次,周五销售额第三高,周三周四销售额开始呈现小幅度下降趋势。从以上的数据分析再综合用户群的分析,我们可以发现,周末每日的销售额大幅度偏低是有原因的。原因在于用户群为办公室女性,显然结合数据可以分析的出,此用户群更多是在工作日的时间在此平台购物消费,而周末在平台购物消费的动力或者欲望不强烈。
    针对周末销售额偏小的问题我们可以做周末活动运营。
    【方案一】可以在周末之前提前告知用户平台会在周末进行优惠活动。但这种活动存在一种风险,用户会不会大量集中去平台消费,影响工作日正常销售额。所以,在周末优惠活动的基础上还可以进行优化,可以一段时间搞一次不定期的周末优惠活动,这样能降低用户的对周末优惠的预见性,降低集中去某一时段购物的概率。
    【方案二】调查周末工作女性出门逛街逛商场的指数,指数高我们可以结合线下渠道,不定期线上发布线下实体店优惠活动,把本来有出门逛商场需求的用户引流到自家或者合作商线下实体店。当然,这样做的前提是线下渠道足够广。

    17.

    订单表tbl_order
    在这里插入图片描述
    用户表:
    在这里插入图片描述

    1、查询2017年上半年(1-6月),上海地区销售额排名前10的商品ID。需要的字段:商品ID

    SELECT 
        o.pid, SUM(o.salesamount)
    FROM
        tbl_order o
            JOIN
        tbl_user u ON o.userid = u.userid
    WHERE
        o.orderdate BETWEEN '2017/01/01' AND '2017/06/30'
            AND u.City like '%上海市%'
    GROUP BY o.pid
    ORDER BY SUM(salesamount) desc
    LIMIT 10;
    

    2、查询2017年7月所有订单中,有且仅有轮胎和保养两个品类的订单数

    SELECT 
        COUNT(orderid)
    FROM
        tbl_order o
            JOIN
        (SELECT 
            a.orderid AS orderid
        FROM
            (SELECT 
            orderid
        FROM
            tbl_order
        WHERE
            MONTH(orderdate) = 7
                AND category IN ('轮胎')) a
        JOIN (SELECT 
            orderid
        FROM
            tbl_order
        WHERE
            MONTH(orderdate) = 7
                AND category IN ('保养')) b
        WHERE
            a.orderid = b.order_id) c ON c.orderid = o.orderid
    GROUP BY orderid
    HAVING COUNT(o.category) = 2;
    

    还请大佬们指正。
    此解对表的理解是每个orderid可以对应多个category,分别找到含有‘轮胎’和‘保养’的orderid,之后筛选出只包含两种category的orderid,再对筛选出的orderid进行计数。

    展开全文
  • 三毛说:“读书多了,容颜自然改变,许多时候,自己可能以为许多看过的书籍都成过眼烟云,不复记忆,其实它们仍是潜在气质里、在谈吐上、在胸襟的无涯,当然也可能显露在生活文字中。”同样地,你跑过的路从来不会...
  • ts封装格式化时间

    千次阅读 2019-07-12 00:11:59
    最近一段时间迷恋上了ts,之前写了一年的java现在用上这玩意儿真是慢慢的回忆啊,每一次写构造函数、gettersetter方法的时候都会想起最初的java导师为我们讲解这两个的区别,功能,优化,现在感觉真的很感谢当时的...

    之前一直在用js时间工具,往往用Date.prototype.format的方式来封装,虽然代码量上会比ts少,但是为什么还用ts封装,自然是为了提高B格呀!最近一段时间迷恋上了ts,之前写了一年的java现在用上这玩意儿真是慢慢的回忆啊,每一次写构造函数、getter和setter方法的时候都会想起最初的java导师为我们讲解这两个的区别,功能,优化,现在感觉真的很感谢当时的松哥!废话说完了就来代码吧。

    /**
     * 时间类-->创建时间,格式化时间
     * @param date
     * @param fmt
     */
    export class DateUtil {
        private date:Date;
        private fmt:string
        public constructor(date:Date, fmt:string) {
            this.date = date ? date : new Date()
            this.fmt = fmt ? fmt : 'yyyy-MM-dd hh:mm:ss'
        }
        public getDate():Date {
            return this.date;
        }
        public setDate(date:Date):void {
            this.date = date
        }
        public getFmt():string {
            return this.fmt;
        }
        public setFmt(fmt:string):void {
            this.fmt = fmt
        }
        public format = ():string => {
            let _date = this.getDate()
            let fmt = this.getFmt()
            let o:any = {
                "M+" : _date.getMonth()+1,                 //月份
                "d+" : _date.getDate(),                    //日
                "h+" : _date.getHours(),                   //小时
                "m+" : _date.getMinutes(),                 //分
                "s+" : _date.getSeconds(),                 //秒
                "q+" : Math.floor((_date.getMonth()+3)/3), //季度
                "S"  : _date.getMilliseconds()             //毫秒
              };
    
            if(/(y+)/.test(fmt)) {
                fmt=fmt.replace(RegExp.$1, (_date.getFullYear()+"").substr(4 - RegExp.$1.length));
            }
            for(let k in o) {
                if(new RegExp("("+ k +")").test(fmt)){
                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
                }
            }
            return fmt;
        }
    }

    非常简单的一个类,在这种完全支持ES6再加上类型限制,感觉真的完全放飞了自我。

    对了,目前是一个喜欢js的csser,感兴趣的可以看下B站视频,对于砖工的我习惯于收集喜欢又实用的css作品。

    这里是B站传送门

    自己也写了一点点Demo

    这里是GitHub传送门

    个人网站(升级中)

    http://www.wlittleyang.com

    展开全文
  • 被裁员主动辞职最大的区别是什么?自然是能不能拿到补偿金。 许多人为了拿到N+1的补偿,绝对不会主动辞职离开公司,一定要想办法被裁掉。 近日,一位程序员小哥爆料,为了被公司裁掉,想尽了各种方法,故意...
  • 除了城东新城艮北新城改善购房者选择的余地增多,近两比较热门的萧山城区板块选择的余地依旧很大,除了在售的13个项目将近4000套房源,后续预计还有十余个新盘即将加推。是钱江南岸改善房源较为集中的一个板块。...
  • 就像在一年前看GoF的《设计模式》一书,半年前用C++模拟、实现23种经典的设计模式一般,透过这个写解析的过程,我又看到了另外一个境界。一直认为学习的过程很多时候可以这样划分:自己学会一门知识(技术)、表达...
  • OpenSSL-1_0_0d_Win32

    热门讨论 2011-04-13 17:57:46
    我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年的问题。 首先,应该感谢Eric A. YoungTim J. Hudson,他们自1995开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是...
  • openssl-1.0.0a

    热门讨论 2010-06-19 12:33:49
    我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年的问题。 首先,应该感谢Eric A. YoungTim J. Hudson,他们自1995开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是...
  • 第二部分是实践篇,每一章都针对rac的一个知识点展开讲解,包括oracle clusterware的维护、ha与lb、备份、恢复、flashback家族、racdata guard的结合使用、racstream的结合使用,最后对asm进行深入介绍,并给出...
  • 信誉则是长久的果实,就像栽苹果树,要经过好几才能结果。管理者不应该醉心于追求名声,而应建立自己的信誉。 ——帕斯卡尔 哈佛经理的职位注定了哈佛经理的大脑必定是一部百科全书——无论经济、管理、法律、...
  • 如果面试再问GETPOST区别,就把这篇甩给他 计网 TCP/UDP 部分高频面试题大集合 操作系统 硬核科普:程序员必知的 89 个操作系统核心概念 数据库/SQL left join、right joinjoin,傻傻分不清? 数据库...
  • 微前端的核心价值

    2020-12-05 16:41:05
    这些产品上的价值提升也就变得很自然和容易。 不论是 OneX 还是阿里云的同学,都在反复强调微前端带来的业务价值及产品价值,比如产品的组合能力,widget 的产品输出能力(这些能力在我们的...
  • 大话数据结构

    2018-12-14 16:02:18
    求100个人的高考成绩平均分与求全省所有考生的成绩平均分在占用时间内存存储上有非常大的差异,我们自然追求高效率低存储的算法来解决问题。 2.6.1正确性 22 2.6.2可读性 23 2.6.3健壮性 23 2.6.4时间效率高...
  • like 的区别和使用注意 博文 Hive 性能优化 戳破 | hive on spark 调优点 实时离线融合在唯品会的进展 数据仓库系列篇——唯品会大数据架构 数据仓库系统|框架结构 Apache Pig: 是一个基于Hadoop的大规模...
  • asp.net知识库

    2015-06-18 08:45:45
    C#中 const readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base...
  • php高级开发教程说明

    2008-11-27 11:39:22
    好的编码差的编码之间究竟有何区别呢?实际上,这个问题很简单。好的代码(确实好 的代码)能够像一本书一样被阅读。你能从任何地方读起,并且能够时刻意识到你所读的这些 行是干什么用的,它们在什么条件下执行,...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

一年和自然年区别