![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
文章
你の猫
拉屎是最舒服的
展开
-
43款可视化工具
国外站点DATAVISUALIZATION.CH为大家总结出了当前热用的43款可视化工具,包括Arbor、Chroma.js、D3.js、Google Chart Tools等,绝对让你一饱眼福。1.Arbor.jsArbor是一个免费的、可视化的图形库,基于矢量创建动态的连接图。它为图形组织和屏幕刷新处理提供了一个高效的、力导向的布局算法。2.CartoDBCartoDB是一个地图Web Service,并提供非常丰富API,利用它可以轻松创建动态的、可视化的数据驱动地图。3.Chroma.js 原创 2020-11-12 15:11:09 · 1280 阅读 · 0 评论 -
开发OpenTCS的驱动程序(适配器)
开发OpenTCS的驱动程序可以参考Developer’s Guide(5.3.3)。这里简要总结一下步骤:1、创建一个类,继承自VehicleCommAdapter类。当然VehicleCommAdapter这个类是顶层的接口,不建议直接实现这个类,我们应该继承BasicVehicleCommAdapter 类,该类是一个抽象类,继承体系如下:2、第一步我们实现了驱动的类,但是如何被创建呢?即如何创建一个Adapter的实例?OpenTCS应用了工厂模式,那就需要再创建一个工厂类了,我们需要从Veh原创 2020-10-31 11:07:50 · 1380 阅读 · 0 评论 -
修改opentcs的默认路由算法
修改默认路径算法1.修改配置文件(1)修改openTCS-Kernel的配置文件openTCS-Kernel——>Resources[Main]——>org.opentcs.kernel.distribution.config——>opentcs-kernel-defaults-baseline.propertiess——>defaultrouter.shortestpath.algorithm = 这里是你的算法的名字...原创 2020-10-09 20:52:26 · 575 阅读 · 2 评论 -
解决 PyCharm/Python 安装 cv2 和 OpenCV 报错的问题
解决 PyCharm/Python 安装 cv2 和 OpenCV 报错的问题在 PyCharm 上 import cv2 时,红色波浪线报错找不到 cv2,快捷键 option + return 选择解决方案“install package cv2”,最后提示错误如下:ERROR: Could not find a version that satisfies the requirement cv2 (from versions: )No matching distribution found f原创 2020-10-08 21:58:23 · 4024 阅读 · 1 评论 -
2020-09-30
AGV 的路径规划问题进行研究为了解决 AGV 与货架的碰撞问题,根据环境地图中不同分区的特点, 在无货架的可行区,采用直线短路径;在货架区,通过对比不同的路径规划方 法,采用基于 A 星算法和蚁群算法的融合算法。为避免 AGV 与货架的碰撞,设计蚁群算法的距离矩阵,通过对比实验调试优算法参数,对多个分区的路径进 行整合修正,得到单 AGV 优路径。为了解决 AGV 与 AGV 的碰撞问题,在环境复杂的货架区,采用蚁群系统算法实现多个 AGV 的路径规划。...原创 2020-09-30 17:53:31 · 67 阅读 · 0 评论 -
如何拿到Spinner的当前值,并实时传递至TextView中显示
拿到Spinner的当前值,并把拿到的值,实时传递给TextView,然后,显示在TextView当中。布局文件是这样的:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=原创 2020-07-02 20:18:05 · 1042 阅读 · 0 评论 -
正则表达式30分钟入门教程
本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。一旦入门后,你可以从网上找到更多更详细的资料来继续学习。别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并不像你想像中的那么困难。当然,如果你看完了这篇教程之后发现自己明白了 很多,却又几乎什么都记不得,那也是很正常的–其实我认为没接触过正则表达式的人在看完这篇教程...原创 2019-05-15 17:44:05 · 325 阅读 · 0 评论 -
c#委托多播实例:例如小明叫小张买完车票,之后接着又让他带张电影票:
// 小张类public class MrZhang { // 其实买车票的悲情人物是小张 public static void BuyTicket() { Console.WriteLine("NND,每次都让我去买票,鸡人呀!"); } public static void BuyMovieTicket() {...原创 2019-05-30 10:31:13 · 322 阅读 · 0 评论 -
C#里@字符d是什么意思
C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待,比如:string str = @"C:\Windows";等价于:string str = "C:\\Windows";@ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。string str = @"<script type=""text/javascript""...原创 2019-05-28 14:23:54 · 3308 阅读 · 0 评论 -
C#里Trim()什么意思
public string Trim()移除当前 String 对象中的所有前导空白字符和后置空白字符。原创 2019-05-29 14:48:22 · 2996 阅读 · 0 评论 -
C# 预处理器指令列表
预处理指令描述#define它用于定义一系列成为符号的字符。#undef它用于取消定义符号。#if它用于测试符号是否为真#else它用于创建复合条件指令,与 #if 一起使用。#elif它用于创建复合条件指令。#endif指定一个条件指令的结束。#line它可以让您修改编译器的行数以及(可选地...原创 2019-05-29 18:22:52 · 121 阅读 · 0 评论 -
在C#中怎么解析JSON数据,并获取到其中的值?
比如JSON数据为:{“phantom”:true,“id”:“20130717001”,“data”:{“MID”:1019,“Name”:“aaccccc”,“Des”:“cc”,“Disable”:“启用”,“Remark”:“cccc”}}。我想得到id的值并且赋给一个变量做为select 查询的where条件。class Program { static ...原创 2019-06-22 10:16:40 · 3034 阅读 · 0 评论 -
浅谈线程池(上):线程池的作用及CLR线程池
线程池是一个重要的概念。不过我发现,关于这个话题的讨论似乎还缺少了点什么。作为资料的补充,以及今后文章所需要的引用,我在这里再完整而又简单地谈一下有关线程池,还有.NET中各种线程池的基础。更详细的内容就不多作展开了,有机会我们再详细讨论这方面的细节。这次,还是一个“概述”性质的,希望可以说明白这方面问题的一些概念。线程池的作用其实“线程池”就是用来存放“线程”的对象池。在程序...原创 2019-05-08 09:30:42 · 142 阅读 · 0 评论 -
C#多线程和线程池
1.概念1.0 线程和进程的关系以及优缺点Windows系统是一个多线程的操作系统。一个程序至少有一个进程,一个进程至少有一个线程。进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序的入口是Main()函数,Main()函数是始于一个主线程的。它的功能主要 是产生新的线程和执行程序...原创 2019-05-08 08:43:13 · 484 阅读 · 0 评论 -
在C#中PeekChar()的用法
BinaryReader.PeekChar Method命名空间:System.IOAssemblies:System.IO.dll, mscorlib.dll, netstandard.dll, System.Runtime.Extensions.dll返回下一个可用的字符,并且不提升字节或字符的位置。C#public virtual int PeekChar ();返回Int3...原创 2019-05-10 11:55:14 · 1330 阅读 · 0 评论 -
C#多线程之旅(1)——介绍和基本概念
一、多线程介绍C#通过多线程支持并行执行的代码。一个线程是一个独立执行的路径,可以同时与其他线程一起运行。一个C#客户端程序(Console,WPF,Winows Forms)开始于一个单独的线程,该线程由CLR和操作系统自动地创建,我们称它为主线程,而且可以通过创建附加的线程来实现多线程。所有的例子都假设引入了以下的namespaces:Using System;Using Syste...原创 2019-05-05 15:28:57 · 111 阅读 · 0 评论 -
线程池详解(中):独立线程池的作用及IO线程池
在上一篇文章中,我们简单讨论了线程池的作用,以及CLR线程池的一些特性。不过关于线程池的基本概念还没有结束,这次我们再来补充一些必要的信息,有助于我们在程序中选择合适的使用方式。独立线程池上次我们讨论到,在一个.NET应用程序中会有一个CLR线程池,可以使用ThreadPool类中的静态方法来使用这个线程池。我们只要使用QueueUserWorkItem方法向线程池中添加任务,线...原创 2019-05-08 10:20:26 · 893 阅读 · 0 评论 -
C#多线程之旅(1)第二页——介绍和基本概念
static void Main(string[] args){Thread t = new Thread(Go);t.Start();t.Join();Console.WriteLine("Thread t has ended!");Console.ReadKey();}static void Go(){ for(int i = 0;i<1000;i++) { Co...原创 2019-05-05 16:13:22 · 105 阅读 · 0 评论 -
线程池详解(下):相关实验及注意事项
线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池。之前我们讨论了线程池的作用、独立线程池的存在意义,以及对CLR线程池和IO线程池进行了一定说明。不过这些说明可能有些“抽象”,于是我们还是要通过试验来“验证”这些说明。此外,我认为针对某个“猜想”来设计一些试验进行验证是非常重要的能力,如果您这方面的能力略有不足的话,还是尽量加以锻炼并提高吧。CLR线程的使用与创建首先,我们准备这样...原创 2019-05-08 11:06:40 · 110 阅读 · 0 评论 -
C#多线程之旅(2)——创建和开始线程
代码下载源码地址:https://github.com/Jackson0714/Threads一、线程的创建和开始在第一篇的介绍中,线程使用Thread 类的构造函数来创建,通过传给一个ThreadStart 委托来实现线程在哪里开始执行。下面是ThreadStart的定义:// Summary:// Represents the method that executes on ...原创 2019-05-06 11:00:04 · 304 阅读 · 0 评论 -
C#多线程之旅(3)——线程池
先交代下背景,写《C#多线程之旅》这个系列文章主要是因为以下几个原因:1.多线程在C/S和B/S架构中用得是非常多的;2.而且多线程的使用是非常复杂的,如果没有用好,容易造成很多问题。多线程,有利也有弊,使用需谨慎。代码下载源码地址:https://github.com/Jackson0714/Threads一、介绍无论你什么时候开始一个线程,几百毫秒会花在整理一个新...原创 2019-05-06 15:13:58 · 220 阅读 · 0 评论 -
C#中如何用程序代码来提取和存入数据
命名空间System.Data.Oledb的是.NET Framework Data Provider for OLE DB。可用来存取OLE DB数据源。使用OleDbDataAdapter,配合内存的DataSet,可以查询及更新数据源。ADO.NET的DataRaeder对象能读取数据库记录;DataAdarter能从数据源提取数据,并填入DataSet的数据表。如果要用C#程序代码来编...原创 2019-05-09 16:21:25 · 905 阅读 · 0 评论 -
C# SynchronizationContext以及Send和Post使用总结
本文主要介绍一下C#中同步上下文(SynchronizationContext),和同步上下文中的Send方法和Post使用总结。1、(SynchronizationContext)同步上下文的作用SynchronizationContext其实就是实现线程之间通讯的。2、创建(SynchronizationContext)同步上下文的方法1)直接new创建一个Synchro...原创 2019-05-14 15:37:22 · 5796 阅读 · 0 评论 -
C#中使用ref和out的一点认识
ref通常我们向方法中传递的是值,方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不会受到影响。 这种情况是通常的,当然还有另外一种情况,我们向方法传递参数的形式,引用(ref)和输出(out)。有时,我们需要改变原来变量中的值,这是我们可以向方法传递变量引用,而不是变量的值,引用是一个变量,他可以访问原来变量的值,修改引用将修改原来变量的值。变量...原创 2019-05-14 16:06:49 · 77 阅读 · 0 评论 -
C#多线程之旅(4)——APM初探
源码地址:https://github.com/Jackson0714/Threads先交代下背景,前面几张内容主要是介绍多线程的基本知识,这一章是因为正好接触到了APM(异步编程模型),发现APM真的很强大,其中有部分知识点涉及到了委托的BeginInvoke/EndInvoke,就由衷地想写下APM相关的知识。强大的异步处理模型,不得不被它折服!一、简单的串行执行程序...原创 2019-05-07 15:33:17 · 202 阅读 · 0 评论 -
JSON
JSONJSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。中文名 ...原创 2019-05-10 09:46:35 · 152 阅读 · 0 评论 -
C#委托之如何理解委托面试常见题:
委托(delegate)是一种存储函数引用的类型。这听起来相当深奥,但其机制是非常简单的。委托的声明非常类似于函数,但不带函数体,且要使用delegate 关键字。委托的声明制定了一个返回类型和一个参数列表。定义了委托后,就可以声明该委托类型的变量。接着把这个变量初始化为与委托具有相同返回类型和参数列表的函数引用。之后,就可以使用委托变量调用这个函数,就像该变量是一个函数一样。有了引用函数的变...原创 2019-05-05 11:13:57 · 2799 阅读 · 0 评论