技术文章

coding码市管理项目

主宰稳场 提交于 2021-02-18 08:26:58
注册账户; 安装git bash; 将用户添加到项目中; 使用命令 git clone <目标远程地址> // 之后当前目录会出现 远程上对应的目录 (克隆远程目标地址的内容) 将项目克隆到本地; cd <远程目标地址的根目录> ; 在目录文件夹下右击,选择git bash here,git bash的命令行目录将会自动跳转到该目录下,并且是(master);将项目添加到该目录下,使用编辑器打开该项目; 本地测试编辑项目代码后将代码push到远程仓库中: git pull //每次修改项目之前pull一下,更新本地代码为最新的版本; 可以使用git status查看已暂存和未暂存的更新:git status 列出了(修改过的、新创建的、已经暂存但未提交的)文件 ,如果要查看具体修改了什么地方,可以用 git diff 命令。稍后我们会详细介绍 git diff ,不过现在,它已经能回答我们的两个问题了: 当前做的哪些更新还没有暂存?有哪些更新已经暂存起来准备好了下次提交 ? git diff 会使用文件补丁的格式显示具体添加和删除的行。 git add . // 加入项目 ,也可增加文件夹(例如:mkdir test1,并向文件夹中添加README.md文件帮助文件夹上传成功) git commit -m “项目提交注释信息” // 提交项目到本地库

spring profile 与maven profile

匆匆过客 提交于 2021-02-18 08:26:35
profile: n. 侧面,半面; 外形,轮廓; [航]翼型; 人物简介; vt. 描…的轮廓; 给…画侧面图; 为(某人)写传略; [机]铣出…的轮廓; 这个词具体是什么意思,参考: https://www.zhihu.com/question/28464897 我的理解,就是一个配置。 一、spring中的profile profile 说白了就是利用一个变量来控制加载哪些bean。主要用在实现在不同的环境下加载不同的bean。 比如在测试环境下,加载根据这个数据库的配信息生成的bean,在生产环境下使用另一个bean。 简单用法: 将spring-profile-test.xml和spring-profile-dev.xml都import入主配置文件中,但是由于spring.profile.active的值不同,真正加载的bean也不同(不满足profile值的bean不会被加载,此时相当于import了一个空文件) 在运行的使用配置下面参数来激活test环境需要加载的bean,profile的值可以有多个,测试需要用“,”隔开。 -Dspring.profiles.active=test 当然profile还有其他激活方法,如: DispatcherServlet的初始化参数传入 web app上下文参数传入 JNDI入口 环境变量 JVM系统属性

红黑树详解

拜拜、爱过 提交于 2021-02-18 08:25:22
1.为什么需要红黑树? 对于二叉搜索树,如果插入的数据是随机的,那么它就是接近平衡的二叉树,平衡的二叉树,它的操作效率(查询,插入,删除)效率较高,时间复杂度是O(logN)。但是可能会出现一种极端的情况,那就是插入的数据是有序的(递增或者递减),那么所有的节点都会在根节点的右侧或左侧,此时,二叉搜索树就变为了一个链表,它的操作效率就降低了,时间复杂度为O(N),所以可以认为二叉搜索树的时间复杂度介于O(logN)和O(N)之间,视情况而定。那么为了应对这种极端情况,红黑树就出现了,它是具备了某些特性的二叉搜索树,能解决非平衡树问题,红黑树是一种接近平衡的二叉树。 2.红黑树的特性有哪些? 首先,红黑树是一个二叉搜索树,它同时满足以下特性: (1) 每个节点要么是黑色,要么是红色 (2) 根节点是黑色 (3) 如果节点是红色的,那么它的子节点必须是黑色的(反之,不一定需要成立) (4) 从根节点到叶节点或空子节点的每条路径,都包含相同数目的黑色节 通过看图来理解以上四个特性 3.红黑树的效率 红黑树的查找,插入和删除操作,时间复杂度都是O(logN)。查找操作时,它和普通的相对平衡的二叉搜索树的效率相同,都是通过相同的方式来查找的,没有用到红黑树特有的特性。但,如果插入的时候是有序数据,那么红黑树的查询效率就比二叉搜索树要高了,因为此时二叉搜索树不是平衡树,它的时间复杂度O(N)

决策树(中)-集成学习、RF、AdaBoost、Boost Tree、GBDT

我是研究僧i 提交于 2021-02-18 08:24:26
参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读): 1. https://zhuanlan.zhihu.com/p/86263786 2. https://blog.csdn.net/liuy9803/article/details/80598652 3. https://blog.csdn.net/perfect1t/article/details/83684995 4. GBDT算法原理以及实例理解 (!!) 5. Adaboost算法原理分析和实例+代码(简明易懂) (!!) 6. 集成学习之Adaboost算法原理小结 (!!刘建平,大牛博客) 7. gbdt、xgb、lgb、cat面经整理——from牛客 (必须掌握) 目录 1.集成学习概念 2.Bagging 3.Random Forest(RF) 4.Boosting 5.Adaboost 6.Boosting tree(提升树) 7.GBDT 8.从偏差和方差的角度理解集成学习 一、集成学习相关知识(Ensemble learning) 1. 集成学习(Ensemble learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能。它不是一种单独的机器学习算法,而更像是一种优化策略,其目的在于使得集成模型达到 减小方差(bagging) 、

Django REST framework

我与影子孤独终老i 提交于 2021-02-18 08:24:03
[TOC] Django REST framework 权限和限制 (你能干什么) 与身份验证和限制一起,权限确定是应该授予还是拒绝访问请求。 在允许任何其他代码继续之前,权限检查始终在视图的最开始运行。权限检查通常使用 request.user 和 request.auth 属性中的身份验证信息来确定是否应允许传入请求。 权限用于授予或拒绝不同类别的用户访问API的不同部分。 最简单的权限类型是允许访问任何经过身份验证的用户,并拒绝访问任何未经身份验证的用户。这对应 IsAuthenticated 于REST框架中的类。 稍微不那么严格的权限样式是允许对经过身份验证的用户进行完全访问,但允许对未经身份验证的用户进行只读访问。这对应 IsAuthenticatedOrReadOnly 于REST框架中的类。 设置权限的方法 可以使用该 DEFAULT_PERMISSION_CLASSES 设置全局设置默认权限策略。例如: REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ) } 如果未指定,则此设置默认允许不受限制的访问: 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions

AI快车道Paddle Lite专场开讲!9月21日百度科技园见

99封情书 提交于 2021-02-18 08:23:35
早上起床,睡眼朦胧之时,叫声“小度小度”便能唤醒家里的智能音箱,问问它现在几点,今天天气怎么样;出国在外,也不必精通各国语言,拿着百度共享Wi-Fi 翻译机就能畅行无阻。如今,越来越多搭载AI技术的硬件产品正在“把AI带进生活”,而对于AI在硬件端的落地应用,端侧推理引擎的作用至关重要。 今年8月,百度深度学习平台 飞桨 (PaddlePaddle)对端侧推理引擎进行全新升级,重磅发布 Paddle Lite ,旨在推动人工智能应用在端侧更好落地。该推理引擎在多硬件、多平台以及硬件混合调度的支持上更加完备。这是 飞桨 在 Paddle Mobile的基础上进行的一次大规模升级迭代。通过对底层架构设计的改进,拓展性和兼容性等方面实现显著提升。目前, Paddle Lite 已经支持了ARM CPU,Mali GPU,Adreno GPU,华为NPU以及FPGA等诸多硬件平台,是目前首个支持华为NPU在线编译的深度学习推理框架。 9月21日,百度AI快车道将在百度科技园举办 Paddle Lite 专场活动,由百度深度学习技术平台资深架构师、百度深度学习平台系统工程师主讲,详细解读 Paddle Lite 的技术特点、使用方法和相关应用,同时也会通过实践,实现目标检测模型在手机上的部署,完整体验 Paddle Lite 在实际业务中的应用

eclipse 自动为getter和setter添加注释

六眼飞鱼酱① 提交于 2021-02-18 08:22:57
很苦恼 写在 po上的javadoc注释,在其它类中却看不到,只能看到变量名,而这个变量名的中文意义又在这上面的javadoc 中。 每次要在Eclipse自动生成的getter,setter 拷贝这些注释或者使用@see ,但是@see 在使用过程提示不直观,还需要再点击进去才能看到详细的javadoc. 网上这样的文章很多: https://blog.kuoruan.com/42.html http://m.zgxue.com/158/1582651.html 主要原理即是修改: org.eclipse.jdt.ui*.jar org/eclipse/jdt/internal/corext/codemanipulation/GetterSetterUtil.java 打开org.eclipse.jdt.internal.corext.codemanipulation->GetterSetterUtil.java文件,搜索CodeGeneration.getSetterComment和CodeGeneration.getGetterComment,分别在搜索行的下一行添加如下代码: ISourceRange sr= field.getJavadocRange(); if (null != sr) { String filedComment= field.getSource();

2017年蓝桥杯B组C/C++决赛题目

纵然是瞬间 提交于 2021-02-18 08:22:22
##2017年第八届蓝桥杯B组C/C++决赛题目 ##<a href="https://www.cnblogs.com/fisherss/p/10876262.html">点击查看2017年蓝桥杯B组C/C++决赛题解</a> ###1.36进制 对于16进制,我们使用字母A-F来表示10及以上的数字。 如法炮制,一直用到字母Z,就可以表示36进制。 36进制中,A表示10,Z表示35,AA表示370 你能算出 MANY 表示的数字用10进制表示是多少吗? 请提交一个整数,不要填写任何多余的内容(比如,说明文字) ###2.磁砖样式 小明家的一面装饰墙原来是 3*10 的小方格。 现在手头有一批刚好能盖住2个小方格的长方形瓷砖。 瓷砖只有两种颜色:黄色和橙色。 小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。 小明有个小小的强迫症:忍受不了任何2 2的小格子是同一种颜色。 (瓷砖不能切割,不能重叠,也不能只铺一部分。另外,只考虑组合图案,请忽略瓷砖的拼缝) 显然,对于 2 3 个小格子来说,口算都可以知道:一共10种贴法,如【p1.png所示】 但对于 3*10 的格子呢?肯定是个不小的数目,请你利用计算机的威力算出该数字。 注意:你需要提交的是一个整数,不要填写任何多余的内容(比如:说明性文字) ###3.希尔伯特曲线 希尔伯特曲线是以下一系列分形曲线 Hn 的极限

Apache反向代理配置

我与影子孤独终老i 提交于 2021-02-18 08:22:05
打开Apache24/conf文件夹下的httpd.conf设置文件,找到一下几行把前面的注释”#”删除 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_modulemodules/mod_proxy_connect.so LoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so LoadModule proxy_http_modulemodules/mod_proxy_http.so (Ps:LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so,这个是做负载均衡用的一个功能,单纯做反向代理的话,不需要用这个,而且取消了这里的注释不进行相应的设置的话,会导致apache服务无法开启) 然后找到 Include conf/extra/httpd-vhosts.conf 这一行前面的注释‘#’也删除,引入这个文件 并添加以下配置(当访问www.b.com时会访问到 http://127.0.0.1:8081/ ): <VirtualHost *:80> ServerAdmin admin@admin.example.com ServerName www.b.com

【Vue 牛刀小试】:第十三章

↘锁芯ラ 提交于 2021-02-18 08:20:31
前言 在上一章的学习中,我们简单介绍了前端路由的概念,以及如何在 Vue 中通过使用 Vue Router 来实现我们的前端路由。但是在实际使用中,我们经常会遇到路由传参、或者一个页面是由多个组件组成的情况。本章,我们就来介绍下在这两种情况下 Vue Router 的使用方法以及一些可能涉及到的概念。 系列目录地址: Vue.js 牛刀小试 仓储地址: Chapter02-Bronze Routing Pass in Vue.js 干货合集 一、 命名路由 在某些时候,我们期望生成的路由 URL 地址可能会很长,在使用中可能会显得有些不便。这时候通过一个名称来标识一个路会更方便一些,因此在 Vue Router 中,我们可以在创建 Router 实例的时候,通过在 routes 配置中给某个路由设置名称,从而方便的调用路由。 1 2 3 4 5 6 7 8 9 const router = new VueRouter({ routes: [ { path: '/form' , name: 'form' , component: '<div>form 组件</div>' } ] }) 当我们使用命名路由之后,当需要使用 router-link 标签进行跳转时,就可以采取给 router-link 的 to 属性传一个对象的方式,跳转到指定的路由地址上。 1 < router-link