精华内容
下载资源
问答
  • 企业包安装出现证书无法验证问题,不论重新启动,还是还原网络设置都无法解决,最终还原所有设置,重启手机,才解决 

    在这里插入图片描述企业包安装出现证书无法验证问题,不论重新启动,还是还原网络设置都无法解决,最终还原所有设置,重启手机,才解决
    在这里插入图片描述

    展开全文
  • 验证证书链 检查证书是不是在证书链内的证书下发的。
  • 在windows 7 和Vista操作系统上安装驱动的时候,往往会遇到一红色的安全警告框,提示“windows 无法验证此驱动程序软件的发布者”然后让用户选择“不继续安装此驱动程序软件”或者“始终安装此驱动程序软件”。
  • 解决使用drivermonitor.exe加载驱动文件时提示:windows无法验证此文件的数字证书等问题解决使用drivermonitor.exe加载驱动文件时提示:windows无法验证此文件的数字证书等问题
  • 时间戳签名和或证书无法验证或已损坏 代码:0x80096005

    时间戳签名和或证书无法验证或已损坏
    代码:0x80096005
    环境:
    WIN7安装某软件不能使用(**已停止工作)
    查找后发现需要安装netframework4.7.2框架。
    但是安装不上,会报错。

    现象:
    安装netframework4.7.2出现标题错误。

    过程:
    安装途中出现时间戳签名损坏的问题,网上找了好多资料,都找不到,后来在一篇收费的帖子看到了,看完文章原来才知道还是来自CSDN上的。
    如果各位大伙搜索错误代码,基本找不到,搜索时间戳,也很少,只有一小部分人才会出现并解决。

    解决:
    一,使用补丁的方式(推荐)

    安装KB2813430补丁;
    32位系统补丁下载地址:
    https://www.microsoft.com/zh-CN/download/details.aspx?id=39110

    64位系统补丁下载地址:
    https://www.microsoft.com/zh-CN/download/details.aspx?id=39115

    成功解决

    二,安装系统证书
    这个方法对我不奏效,从网上下载的证书并按照流程安装,结果不行;名字是:MicrosoftRootCertificateAuthority2011.cer

    三,安装驱动类程序
    比如安装驱动精灵,用过的都知道,因为里面能够检测系统缺失的环境,可以自动下载安装,驱动精灵给我自动下载了4.5的框架,并且也安装上了,重启后,4.7.2的框架还是安装报错;
    或者安装360,我看到类似的问题他们说通过360解决的;因为里面也可以检测出电脑的环境,有没有缺失,但是这个方法我没事,因为我是给小电脑搞的,性能不太好,就没装。

    展开全文
  • 微软证书验证工具

    2019-01-09 20:21:03
    可以验证软件是否正规,通过验证软件的数字签名,给出相应的结果
  • 然后抱着试试看看的心态装上了,谁知装完,一堆“时间戳签名和/或证书无法验证或已损坏”,然后我以为没啥问题,vs2013我也打开了,也用上了。可是matlab不识别出现了…………于是我就开始找教程,需要修改matlab...


    先来一张成功照片镇楼,我是做图像的,近期用到了matlab的mex,mex需要编译器,于是我首先下载了gcc。

    本来以为按照网上的教程该环境变量和matlab识别可以用了,谁知道怎么弄都不行。那个我也不知道他们是怎么成功的,反正我是越弄越乱………………恶心死了,下面放一个那种情况的图。


    然而并没什么用。

    最后我从师兄哪里拷来了vs2013,先是看网上说安上了也没用,需要重装matlab,要不没法识别,心一下就凉凉了。然后抱着试试看看的心态装上了,谁知装完,一堆“时间戳签名和/或证书无法验证或已损坏”,然后我以为没啥问题,vs2013我也打开了,也用上了。可是matlab不识别出现了…………于是我就开始找教程,需要修改matlab文件到vs2013的安装目录,试过了……并没什么作用。

    一气之下拖出了笔记本,也装了下vs2013,笔记本竟然安装没出问题。然后抱着试试看的态度打开matlab输入“mex -setup -v”,然后兴奋的事情发生了,找到编译器了,好棒!!!此处证明,后安装编译器需要重装matlab是不合理的。

    到这还没完,我的台式机不行呀……头疼,于是把360,防火墙各种关,安了十几遍都是出现问题,头疼到放弃。最后在网上看到说,windows的软件很多需要windows更新的证书的,也就是自动更新安装的补丁,于是开整,可是windows根本不让我这个盗版系统更新………………

    最后找到了解决办法,用360安装补丁,把补丁都打上,因为听说这些软件的补丁就是从微软拿来的。

    打好补丁后,以防万一,我把电脑重启,把安全软件都关了,然后胆战心惊地开始安装vs2013,然后……成功了。


    觉得有用就点个赞,希望可以帮到更多的人


    展开全文
  • 一、项目目录树结构 由于时间有限,不可能在博客上花... 这个是粗糙的项目结构,没有细分,实际应用的话应该是授权的代码要和验证的代码分开,防止授权的代码引进客户端系统中,被破解和拆穿,也为了防止公钥st...

    一、项目目录树结构

       

            由于时间有限,不可能在博客上花太多时间、也不可能每一个细节都说的很细,所以,下面的内容虽然一时间看着比较懵,但是文末有项目的GitHub地址,或者不懂的可以留言;

     

    补充(2020年08月20日23:04:52):


    最近有点浮躁,沉溺了很久,好久没有管博客了。

           感谢那些关注我的兄弟们,还有那些私信我,希望加我联系方式的兄弟们,你们的私信我都有看,抱歉我没有回复你们,我还没有想好要怎么回复,或者加了好友了因为我太忙或太菜无法回复你们的问题时,会不会略显得有些尴尬,索性还是等一段时间吧,让我先缓一缓。

           我不是什么大佬,仅是一个抱着对技术纯热爱有着几年研发管理经验乐于分享学习过程和撸撸代码的马上要奔三的有着一顶茂密头发会做饭喜欢篮球享受生活的普通人。最辉煌时,团队可管理支配的前后端研发人员有11人之多,中间经历大大小小的事情后,目前团队研发人员算上我,也才不过6个,虽然人少,干的事情却不少,虽然干的事情不少,但有时候却时常感觉有些凄凉落寞。

          话就不多说了,本来只是想说一下License重构的事情,奈何发了一通牢骚,好了,等我有机会翻身了,我准备好好码一码这些年的经历,到时候,我们不聊技术,不聊代码,我们只聊生活!


     

          

     

           这个是粗糙的项目结构,没有细分,实际应用的话应该是授权的代码要和验证的代码分开,防止授权的代码引进客户端系统中,被破解和拆穿,也为了防止公钥store被客户端用户串改;

     

          正确、良好的结构应该是如下的:

     

     

          由于上面的结构里面引入了其他包,故在最后,我就不放这个结构的代码在我的github上了

     

    补充(2020年08月20日23:08:42):


           想了下,目前GitHub上的结构和代码看起来有些邋遢、随性,而且关于License的使用说明不够详细,所以,我决定后面几天专门开个分支,来一把彻彻底底的重构,重构后的目录结构如下:

     

    模块结构

     


    模块功能说明

     

    license.lic文件注意要放到web应用的resources目录下

     


    证书生成creator模块中,注意把私有密钥放到resources下面

     


     

    证书验证verify模块中,注意把公有密钥放到resources下面

     


           相关接口文档(如下图),后续我也会补充在新分支v0.2.1上,而且新分支不仅支持Lic文件的注册生成,还支持Lic文件的下载,总之新分支的功能将更加完备,作为开源代码将具有更佳的参考价值,敬请期待吧!

     

    API接口文档

     

     


     

    补充(2020年08月22日01:14:19),重构后的代码已上传至分支v0.2.1

     

    GitHub地址:https://github.com/kobeyk/license.git

     


     

     

     


     

     


     



     

    补充(2020年08月30日23:42:19)说明下,接口上加@VLicense注解时,拦截器都干了哪些事情?以及如何在业务系统中,实现我们自定义的证书验证

    (主要是继承ACustomVerifyListener类,实现verify方法)

     

    重点关注lic验证模块中的拦截器

     


     

    证书(参数)验证拦截器


    核心代码实现:

    @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            if (handler instanceof HandlerMethod) {
                HandlerMethod handlerMethod = (HandlerMethod) handler;
                Method method = handlerMethod.getMethod();
                VLicense annotation = method.getAnnotation(VLicense.class);
                if (CommonUtils.isNotEmpty(annotation)) {
                    LicenseVerifyManager licenseVerifyManager = new LicenseVerifyManager();
                    /** 1、校验证书是否有效 */
                    LicenseResult verifyResult = licenseVerifyManager.verify(properties.getVerifyParam());
                    if(!verifyResult.getResult()){
                        throw  new CommonException(verifyResult.getMessage());
                    }
                    LicenseContent content = verifyResult.getContent();
                    LicenseExtraParam licenseCheck = (LicenseExtraParam) content.getExtra();
                    if (verifyResult.getResult()) {
                        /** 增加业务系统监听,是否自定义验证 */
                        List<ACustomVerifyListener> customListenerList = ACustomVerifyListener.getCustomListenerList();
                        boolean compare = true;
                        for (ACustomVerifyListener listener : customListenerList) {
                            boolean verify = listener.verify(licenseCheck);
                            compare = compare && verify;
                        }
                        return compare;
                    }
                    throw new CommonException(ResultCode.FAIL,verifyResult.getException().getMessage());
                }
            }
            return true;
        }

     


    注意这两个地方:

     

    判断接口方法上是否加了@VLicense注解,如果不空,则走验证逻辑

     


     

     

    这个很关键,可以加一些我们自定义的监听器类,来对lic文件做进一步的有效性验证

     

     


    我们看下ACustomVerifyListener类

     

    public abstract class ACustomVerifyListener {
    
        /**软件证书参数全局验证监听容器*/
        private static final List<ACustomVerifyListener> CUSTOM_VERIFY_LISTENER_LIST = new ArrayList<>(16);
    
        public static List<ACustomVerifyListener> getCustomListenerList(){
            return CUSTOM_VERIFY_LISTENER_LIST;
        }
    
        /***
         * 默认构造函数,干了一件事情,就是会把所有实现了这个抽象类的子类实例全部添加到全局自定义验证监听器列表中
         * 因为在调用子类的构造函数时,会首先调用父类的构造器
         */
        public ACustomVerifyListener() {
            addCustomListener(this);
        }
    
        public synchronized static void addCustomListener(ACustomVerifyListener verifyListener){
            CUSTOM_VERIFY_LISTENER_LIST.add(verifyListener);
        }
    
        /**
         * 业务系统自定义证书认证方法
         * @param licenseExtra 自定义验证参数
         * @return boolean 是否成功
         */
        public abstract boolean verify(LicenseExtraParam licenseExtra) throws CommonException;
    
    }

    问题来了,如何在业务系统中,自定义License验证方法呢?

     


    1、在license.app模块中,定义两个类,分别继承ACustomVerifyListener

     

    证书自定义验证监听器A(有具体的业务场景)

     


     

    证书自定义验证监听器B(具体业务场景请自行补充)

     


     

    2、如何使用呢?下面我们看下例子

     

    我们启动app后,找到license.verify模块中的接口

     

     


    然后,调用接口测试下:

     

     

     


     

    随后,我们看下后台,看下我们自定义的验证方法是不是已经调用且奏效了?

     

     


    我们知道lic文件中,限定的最大用户注册数是1000,假设我们把值调成1001,重启app再次调用接口会怎么样呢?

     

    模拟查询,假设从库中的用户表中count的值等于1001

     


     

     

     


     

     

    二、如何生成密钥对

     

           网上有,这个不再细说了,直接上文本:

     

    1、首先要用KeyTool工具来生成密钥库:(-alias别名 –validity 3650表示10年有效)
    keytool -genkey -alias privatekeys -keysize 1024 -keystore privateKeys.store -validity 3650
    
    2、然后将密钥库中名称为‘privatekeys’的证书条目导出到证书文件certfile.cer中:
    keytool -export -alias privatekeys -file certfile.cer -keystore privateKeys.store
    
    3、然后再把这个证书文件的信息导入到公钥库中别名为publiccert的证书条目中:
    keytool -import -alias publiccert -file certfile.cer -keystore publicCerts.store
    
    最后生成的文件privateKeys.store和publicCerts.store拷贝出来备用。


     

     

    三、如何应用

     

    (1) 获取服务器硬件信息

     

    访问地址:localhost:8066/license/getServerInfos

     

     

    {
        "ipAddress": [
            "10.16.248.102"
        ],
        "macAddress": [
            "58-00-E3-D4-83-2B"
        ],
        "cpuSerial": "BFEBFBFF000506E3",
        "mainBoardSerial": "",
        "macCheck": false,
        "ipCheck": false,
        "cpuCheck": false,
        "boardCheck": false
    }

     

     

    (2) 生成许可文件

     

      生成接口:localhost:8066/license/generateLicense

     

      注册信息:

     

    {
        "subject": "landi",
        "privateAlias": "privateKeys",
        "keyPass": "123456a",
        "storePass": "123456a",
        "privateKeysStorePath": "/privateKeys.store",
        "issuedTime": "2020-05-01 08:30:00",
        "expiryTime": "2021-05-01 08:30:00",
        "description": "系统软件许可证书",
        "licenseCheck": {
            "ipAddress": [
                "192.168.1.2",
                "2408:8221:1d:bbd0:ad77:446e:4904:a776",
                "2408:8221:1d:bbd0:71b6:d1b0:39c6:3c4e",
                "192.168.145.1",
                "192.168.239.1"
            ],
            "macAddress": [
                "64-FB-81-6F-0E-C2",
                "00-50-56-C0-00-08",
                "00-50-56-C0-00-01"
            ],
            "cpuSerial": "BFEBFBFF000206D7",
            "mainBoardSerial": "MB-201706282017",
            "registerAmount": 1000,
            "macCheck": false,
            "boardCheck": false,
            "cpuCheck": false,
            "ipCheck": false,
            "registerCheck": true
        }
    }

     

      注册结果:

     

    {
        "status": 200,
        "message": "成功",
        "data": {
            "subject": "landi",
            "privateAlias": "privateKeys",
            "keyPass": "123456a",
            "privateKeysStorePath": "/privateKeys.store",
            "storePass": "123456a",
            "licensePath": "/Users/apple/Appleyk/github/license/license/20200822014856/license.lic",
            "issuedTime": "2020-05-01 08:30:00",
            "expiryTime": "2021-05-01 08:30:00",
            "consumerType": "user",
            "consumerAmount": 1,
            "description": "系统软件许可证书",
            "licenseCheck": {
                "ipAddress": [
                    "192.168.1.2",
                    "2408:8221:1d:bbd0:ad77:446e:4904:a776",
                    "2408:8221:1d:bbd0:71b6:d1b0:39c6:3c4e",
                    "192.168.145.1",
                    "192.168.239.1"
                ],
                "macAddress": [
                    "64-FB-81-6F-0E-C2",
                    "00-50-56-C0-00-08",
                    "00-50-56-C0-00-01"
                ],
                "cpuSerial": "BFEBFBFF000206D7",
                "mainBoardSerial": "MB-201706282017",
                "registerAmount": 1000,
                "macCheck": false,
                "ipCheck": false,
                "cpuCheck": false,
                "boardCheck": false,
                "registerCheck": true
            },
            "licUrl": "http://127.0.0.1:8080/license/download?path=/Users/apple/Appleyk/github/license/license/20200822014856/license.lic"
        },
        "timeStamp": "2020-08-22 01:49:09"
    }

     

     

    (3) 项目启动 -- 安装证书

     

     .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.1.4.RELEASE)
    
    2019-09-27 14:10:04.196  INFO 16220 --- [           main] cn.bluethink.license.App                 : Starting App on 9VSNYQQSFL96GK6 with PID 16220 (F:\gitlab\license\target\classes started by Administrator in F:\gitlab\license)
    2019-09-27 14:10:04.199  INFO 16220 --- [           main] cn.bluethink.license.App                 : No active profile set, falling back to default profiles: default
    2019-09-27 14:10:05.689  INFO 16220 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8066 (http)
    2019-09-27 14:10:05.712  INFO 16220 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2019-09-27 14:10:05.712  INFO 16220 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]
    2019-09-27 14:10:05.817  INFO 16220 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    2019-09-27 14:10:05.818  INFO 16220 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1571 ms
    2019-09-27 14:10:06.042  INFO 16220 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
    [INFO ] 2019-09-27 14:10:06,274 method:cn.bluethink.license.listener.LicenseCheckListener.onApplicationEvent(LicenseCheckListener.java:60)
    ++++++++ 开始安装证书 ++++++++
    [INFO ] 2019-09-27 14:10:06,430 method:cn.bluethink.license.core.LicenseVerify.install(LicenseVerify.java:41)
    证书安装成功,证书有效期:2019-09-26 14:50:00 - 2019-09-27 17:45:55
    [INFO ] 2019-09-27 14:10:06,430 method:cn.bluethink.license.listener.LicenseCheckListener.onApplicationEvent(LicenseCheckListener.java:73)
    ++++++++ 证书安装结束 ++++++++
    2019-09-27 14:10:06.463  INFO 16220 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8066 (http) with context path ''
    2019-09-27 14:10:06.466  INFO 16220 --- [           main] cn.bluethink.license.App                 : Started App in 2.523 seconds (JVM running for 2.854)

     

     

    (4) 许可认证

     

         认证接口:localhost:8066/hello

     

    A:验证主板信息的(认证不通过的情况):

     

     

    后台控制台信息输出:

     

     

     

    B:不验证主板信息(认证通过的情况):

     

     

     

     

     

     

     

    (四)项目GitHub地址

     

    https://github.com/kobeyk/license.git

     

     

     

    分支:

     

    展开全文
  • 软件测试面试题汇总

    万次阅读 多人点赞 2018-09-27 12:31:09
    转载自: ... 软件测试面试题汇总 测试技术面试题 ...........................................................................................................
  • https工作原理及CA证书及验证证书

    千次阅读 2019-03-07 15:27:11
    在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于...
  • 这是因为软件证书掉了,所以手机就会提示软件无法验证。 1、提示无法验证应用 最近苹果官方封杀了很多企业证书,所以很多证书一天就失效了,在打开APP时就如图的情况。不过这种情况一般都是阶段性的,过段时间...
  • 软件许可(License)证书,可以控制服务部署的情况,比如服务部署的硬件环境和服务到期日期。生产证书的服务端需要根据部署服务器的信息(如MAC地址等)和指定到期日期生成License证书。在具体使用License证书的应用...
  • 这是一个验证苹果推送证书是否可用的demo,只是生成token,还需要结合 mac软件APNS-Tool使用就OK了
  • 若该文为原创文章,未经允许不得转载 原博主博客地址:...本文章博客地址: 目录 开发笔记之数字证书(一):数字证书介绍 前话 数字证书签名基本问题 什么是代码签名证书? 哪些人需要代码...
  • 客户端是如何验证https证书

    千次阅读 2019-12-31 13:36:08
    最近要做晋升考官,得问点原理的东西,想问https这种网络相关的问题,突然发现自己之前看的快忘光了,这里记录一下,以防止自己都不懂的尴尬 流程 机构颁发的数字证书内容主要有两个:数字签名和服务器公钥 ...
  • Android https 突然提示证书验证失败

    千次阅读 2018-08-13 11:59:40
    一直相安无事,突然测试人员报告说出现证书验证问题。网上各种查看资料解决,方案无非是加入自定义证书到工程或者是用信任所有证书的方式解决。但是,我们并没有用到自定义证书,如果用信任所有证书的方式,对于自身...
  • WindowsServer2008R2安装完成后...“尚未安装netframework4.8时间戳签名和或证书无法验证或已损坏” 网上找了一圈答案,获得一个解决方法,就是导入一个证书MicrosoftRootCertificateAuthority2011.cer,步骤有点多,大
  • 如何验证一张数字证书的合法性

    千次阅读 2019-09-26 07:06:00
    数字证书是依赖根证书的信任传递机制的,所以验证一张数字证书的合法性,需要其上级证书参与进来进行验证。 除了根证书,每一张数字证书都包含了其上级证书对其的签名,也就是用上级证书的私钥对证书摘要(简记为H1...
  • [编者注:本文介绍了如何为Domino 4.6和4.6.1设置SSL客户机认证。... 验证发送给收件人的邮件是否已被篡改。 验证服务器身份以防止服务器欺骗。 使用SSL 3.0验证客户端身份。 有关这些SSL概念的介绍,请参见H...
  • Windows无法验证此文件的数字签名

    千次阅读 2020-04-27 20:24:44
    进入bios,找到Security选项,将Security选项的Secure Boot Control设为Disabled 管理员进入cmd bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING ON ...
  • 这篇文章将详细介绍微软证书漏洞CVE-2020-0601,并讲解ECC算法、Windows验证机制,复现可执行文件签名证书的例子。 这些基础性知识不仅和系统安全相关,同样与我们身边常用的软件、文档、操作系统紧密联系,希望这些...
  • ssl握手过程和ca证书验证

    千次阅读 2019-07-05 17:38:23
    单向 SSL 认证一般是客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”...
  • Windows系统Git安装教程(详解Git安装过程)

    千次阅读 多人点赞 2019-11-22 18:50:19
      到Git官网下载,网站地址:https://git-scm.com/downloads,如图:   因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Window...
  • 我们都知道通过征信中心官网查询本人信用报告时,是需要验证身份的,除了之前说到的问题验证方式,还有一种是数字验证方式。 设置身份验证的目的,是为了避免您的个人信用报告被他人查询,确保是您本人在查询您的...
  • 怎样验证数字证书  数字证书号称是网上的身份证。网上交易者通过交易对象的数字证书对其产生信任,并能够使用和...验证由安全认证应用软件执行,验证需要包括以下的内容: · 证书完整性验证。即确认这个证书没...
  • Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)'),)方法一:关闭抓包软件搜索一番,发现Charles或者Fiddler等代理会有影响,关掉Charles,重试发现已经...
  • FairUse4WM 是一个 drmdbg 的图形用户...如果您发现某些文件不能在您的移动设备上播放或无法被转换,请尝试使用这个软件来提取许可证。一旦您提取了许可证,就再也不需要使用WMP来播放每个文件了。(请勿用于非法用途)
  • 上网浏览网页的时候,经常会出现提示“Windows已经阻止此软件因为无法验证发行者”,无法安装那个软件,导致了网页无法正常浏览,将网页设置为信任站点,关闭安全中心及杀毒软件都不行。提示如下: 废话少说...
  • 2021年前端面试题及答案

    万次阅读 多人点赞 2020-02-11 19:29:34
    前端工程化是使用软件工程的技术和方法来进行前端的开发流程、技术、工具、经验等规范化、标准化,其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间,而前端工程本质上是...
  • 感觉薪资10k的都会出笔试题 特别高的薪资都是直接技术面试或者是 现场编程 总结很多人的面试题,后期会对于单个知识点再说笔记详细讲解。 部分都是百度的答案,不是特全面的,可以自己找 同时分享一个自己...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,276
精华内容 20,110
关键字:

下软件无法验证证书