next

Jetbrains CLion 安装及配置详解

假装没事ソ 提交于 2020-08-13 09:57:10
Hi 今天呢就给大家推荐一个 高大上 强大智能的 C/C++语言编辑器。ta的名字叫—— Jetbrains CLion (呃,说好了不用标题字呢) 这个编辑器呢主要支持C和C ++,包括现代C ++标准,lib c ++ 和 Boost,CLion始终了解您的代码,并在关注重要事项的同时照顾了例程。 实时地识别出您的代码问题并且执行数据流分析,可以查出如编译错误,无限循环,条件为常量等等。当发现问题时提供了多个选项来帮助您修改代码。 提供功能强大的集成调试器(不过现阶段在Mac系统上调试需要密码来控制进程)调试时,将在编辑器中显示变量值,从而获得项目的完整视图。在调试会话期间监视变量/表达式的变化,在调试会话中的某个执行点停止时,评估函数调用或某些复杂表达式的结果。更好的是在运行时错误时指出哪(几)行代码出现了问题。 当然它也可以支持别的语言 Markdown(确实可以,可以安装扩展) 如HTML Javascript等。 大体界面如下:(不同系统会有不同的界面,展示的是笔者Mac系统的CLion界面) 安装Clion 下载安装包 CLion在不同平台上有不同的安装程序。以下提供了官方链接,可以自行点击下载。下载时可以继续往下看。由于此软件是收费的,所以本人从网上搜集来的破解码( 没钱的对付着用用 )但是我还是要说一句:支持正版! 国外的网站(访问较慢

Java代码精简之道

痴心易碎 提交于 2020-08-13 09:37:06
前言 古语有云: 道为术之灵,术为道之体;以道统术,以术得道。 其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。 在拜读大佬“孤尽”的文章《 Code Review是苦涩但有意思的修行 》时,感受最深的一句话就是:“优质的代码一定是 少即是多 的精兵原则”,这就是大佬的代码精简之“道”。 工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”也就不远了,亦或是已经得道,这就是“工匠精神”——一种追求“以术得道”的精神。 如果一个工匠只满足于“术”,不能追求“术”到极致去悟“道”,那只是一个靠“术”养家糊口的工匠而已。作者根据多年来的实践探索,总结了大量的Java代码精简之“术”,试图阐述出心中的Java代码精简之“道”。 1.利用语法 1.1.利用三元表达式 普通: String title; if (isMember(phone)) { title = "会员"; } else { title = "游客"; } 精简: String title = isMember(phone) ? "会员" : "游客"; 注意:对于包装类型的算术计算,需要注意避免拆包时的空指针问题。 1.2.利用for-each语句 从Java 5起,提供了for-each循环

福禄克DSX2-5000 CH网络线缆测试仪具体规格

旧时模样 提交于 2020-08-13 09:22:03
福禄克DSX2-5000 CH作为铜缆认证测试行业权威的分析仪,自然受很多人追捧,而它的具体规格其实只有很少人知道。今天福禄克官方代理商-明辰智航的小编给大家科普-DSX2-5000 CH网络线缆测试仪的具体规格。 DSX2-5000 CH的测试速度 5e 或 6 类/Class D 或 E 的全双向自动测试:9 秒。完整的双向 6A 类 EA 级自动测试:10 秒 支持的测试参数 接线图、长度、传播延迟、延迟偏差、直流环路电阻、对间电阻不平衡、对电阻不平衡、插入损耗(衰减)、回波损耗 (RL)、共模回波损耗 (CMRL)、近端串扰 (NEXT)、远端串扰 (FEXT)、衰减串扰比 (ACR-N)、ACR-F (ELFEXT)、ACR-F 功率和 (ELFEXT)、NEXT 功率和、ACR-N 功率和、线外 NEXT 功率和 (PS ANEXT)、线外 NEXT 远端衰减比功率和 (PS AACR-F)、共模-差模 NEXT (CDNEXT)、横向变换损耗 (TCL)、等水平横向变换传输损耗 (ELTCTL) 可受电压: 能经受持续的电话电压和 100 mA 的过流。在 ISDN 上偶尔发生超压现象不会造成损坏 显示屏:5.7 英寸 LCD,具有感应电容触摸屏 箱包:由减震材料包覆成型的耐冲击性塑料箱 体积:已安装 DSX 模块和电池的 Versiv 主机:2.625 英寸 x 5

理解单链表的反转(java实现)

廉价感情. 提交于 2020-08-13 09:14:05
理解单链表的反转(java实现) 要求很简单,输入一个链表,反转链表后,输出新链表的表头。   反转链表是有2种方法(递归法,遍历法)实现的,面试官最爱考察的算法无非是斐波那契数列和单链表反转,递归方法实现链表反转比较优雅,但是对于不了解递归的同学来说还是有理解难度的。 递归法 总体来说,递归法是从最后一个Node开始,在弹栈的过程中将指针顺序置换的。 为了方便理解,我们以 1->2->3->4这个链表来做演示。输出的效果是4->3->2->1 首先定义Node: public static class Node { public int value; public Node next; public Node(int data) { this.value = data; } } 反转方法如下: public Node reverse(Node head) { if (head == null || head.next == null) return head; Node temp = head.next; Node newHead = reverse(head.next); temp.next = head; head.next = null; return newHead; } 递归实质上就是系统帮你压栈的过程,系统在压栈的时候会保留现场。 我们来看是怎样的一个递归过程:1-

换个角度学习ASP.NET Core中间件

跟風遠走 提交于 2020-08-13 08:15:07
换个角度学习ASP.NET Core中间件 中间件真面目 关于ASP.NET Core中间件是啥,简单一句话描述就是:用来处理HTTP请求和响应的一段逻辑,并且可以决定是否把请求传递到管道中的下一个中间件! 上面只是概念上的一种文字描述,那问题来了,中间件在程序中到底是个啥❓ 一切还是从IApplicationBuilder说起,没错,就是大家熟悉的Startup类里面那个Configure方法里面的那个IApplicationBuilder(有点绕😵,抓住重点就行)。 IApplicationBuilder,应用构建者,听这个名字就能感受它的核心地位,ASP.NET Core应用就是依赖它构建出来,看看它的定义: public interface IApplicationBuilder { //...省略部分代码... IApplicationBuilder Use(Func<RequestDelegate, RequestDelegate> middleware); RequestDelegate Build(); } Use方法用来把中间件添加到应用管道中,此时我们已经看到中间件的真面目了,原来是一个委托,输入参数是RequestDelegate,返回也是RequestDelegate,其实RequestDelegate还是个委托,如下: public delegate

jquery下拉多选select插件

♀尐吖头ヾ 提交于 2020-08-13 08:07:21
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery下拉多选select插件</title> <link rel="stylesheet" href="css/select.css"> <script src="js/jquery.min.js"></script> <script src="js/select.js"></script> </head> <body> <br><br><br><br> <div id="demo1" class="selectPickerWrapper"> <select class="hidden" multiple="multiple"> <option>万源路</option> <option>漕宝路666号</option> <option>古美街道</option> <option>平南路888号</option> <option>合川路</option> <option>莲花路4545号</option> </select> </div> <div id="demo2" class="selectPickerWrapper"> <select class="hidden" multiple="multiple">

图书管理系统 源代码 Java初级小项目

Deadly 提交于 2020-08-13 07:23:52
  今天博主再给大家分享一个小项目: MiNi图书管理系统 。用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书、删除图书、借阅图书、归还图书、查看图书等简单的功能(后附源代码)!    首先展示一下运行界面效果图:运行代码后,会在控制台显示如下界面:   然后让用户选择,如果用户不小心或者误输入了错误的数,会再次让用户进行输入。    当用户输入2后,可以查看图书,会显示已有的图书: 包括图书书名、借阅状态、借阅次数、借阅日期等信息。    当用户输入1后,可以新增图书,再次让用户输入新增的图书名字,这里博主用mybook,效果如下:    当用户输入3后,可以借阅图书。让用户再次输入借阅的图书名,如果输入的名字没在图书馆,则不可以借阅;如果在馆,且状态是已借出,也不能再次借阅;如果在馆,且状态是可借阅,则可以进行借阅。    当用户输入4后,可以归还图书。再次让用户输入归还的图书名,同理,如果图书馆找不到该名字,提示用户不是本图书馆的书,不用归还;如果找到该书的名字,且状态是可借阅的,也不能归还;如果找到该书,且状态是已借出,则可以进行图书的归还。同时,还要让用户输入归还的日期,并对归还的日期进行判断,如果日期小于借阅的日期,则提示用户归还日期必须大于借阅日期,让用户再次输入,输入成功后,则显示归还成功。    当用户输入5后

强化学习的基本迭代方法

北城以北 提交于 2020-08-13 07:12:21
作者|Nathan Lambert 编译|VK 来源|Towards Data Science 研究价值迭代和策略迭代。 本文着重于对基本的MDP进行理解(在此进行简要回顾),将其应用于基本的强化学习方法。我将重点介绍的方法是"价值迭代"和"策略迭代"。这两种方法是Q值迭代的基础,它直接导致Q-Learning。 你可以阅读我之前的一些文章(有意独立): 什么是马尔可夫决策过程?( https://towardsdatascience.com/what-is-a-markov-decision-process-anyways-bdab65fd310c ) 强化学习的线性代数( https://towardsdatascience.com/the-hidden-linear-algebra-of-reinforcement-learning-406efdf066a ) Q-Learning开启了我们所处的深度强化学习的浪潮,是强化学习学生学习策略的重要一环。 回顾马尔可夫决策过程 马尔可夫决策过程(MDPs)是支持强化学习(RL)的随机模型。如果你熟悉,你可以跳过这一部分,不过我增加了一些相关的解释。 定义 状态集$s\in S,动作集$a\in A$。状态和动作是代理程序所有可能的位置和动作的集合。在 高级强化学习 中,状态和动作是连续,所以这需要重新考虑我们的算法。 转换函数T

java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

ぐ巨炮叔叔 提交于 2020-08-13 07:03:11
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢? 顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参), 然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中, 操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。 2. 一个栗子 一个被举了无数次的例子: List arrayList = new ArrayList(); arrayList.add( "aaaa" ); arrayList.add( 100 ); for ( int i = 0; i< arrayList.size();i++ ){ String item = (String)arrayList.get

2020北航OO第四单元总结

痴心易碎 提交于 2020-08-13 06:51:21
一、概述 任务要求 :完成对UML的mdj文件的解析以及分析查询功能,通过此来获得对UML模型、类图、顺序图、状态图的一定的理解。 第一次作业: 实现一个UML类图分析器,学习目标为UML入门级的理解、UML类图的构成要素及其解析方法。 第二次作业: 扩展程序,实现对UML顺序图和UML状态图的解析。 第三次作业: 扩展功能,对模型进行有效性检查。 二、第四单元作业架构设计 第一次作业 第一次作业只有类图,需要通过解析类图中的9种模型完成模型的构建。对此,我创建了类 MyTree 用于解析传进来的elements并对其分析,并进行元素之间的关系构建。对于9种模型,我对于其中必要的模型进行了封装。比如对于元素 UmlClass ,我创建了类 MyClass 对其进行封装,在内部完成了对某个类的Attribute、Operation、所关联类等数据进行了保存和维护。这有些类似于适配器模式。 程序的大体流程是:首先将elements全部传入 MyTree 中,在其构造方法内用switch语句进行分类,调用parse方法进行分析,构建模型。而查询时 UmlInteraction 类中的方法可以直接调用 MyTree 中的数据进行查询。 关于数据的保存,基本原则是查询用 HashMap , 遍历 ArrayList , 需要不能重复的时候用 HashSet ;如果都需要的话就都用。