whitespace

java编码解码过程

∥☆過路亽.° 提交于 2020-11-15 17:47:14
最近做项目的时候,有时会遇到中文乱码的问题,网上查询了很多资料,发现大多都是只讲解决方案,并没有讲到为什么要使用这种方案,这种方案的原理是什么? 最典型的就是连接数据库的URL,我们一般把它放到classpath下的db.properties中,然后尽管我们的java代码设置了UTF-8,JSP也设置了UTF-8,数据库也设置了UTF-8,但是插入数据到数据库中仍然会出现中文乱码,最后我们的解决方案是在连接数据库的URL上加上连接使用的编码格式UTF-8,但是我们会纳闷为什么要这么做呢? 下面我们来聊下java编码的问题,为什么要编码,有哪些编码,怎么编码和解码,为什么会有中文乱码,怎么解决中文乱码。 1.为什么要编码 这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言太多,因而表示这些语言的符号太多,无法使用计算机中一个基本的存储单元---byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机理解我们的语言。我们可以把计算机能够理解的语言假定为英语,其他语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语。这个翻译的过程就是 编码。 所以总的来说,编码的原因可以总结为:计算机中存储信息的最小单元是一个字节,即8个bit,所以能表示的字符范围是0-255个;人类要表示的符号太多,无法用一个字节来完全表示。

MySQL8 设置大小写 正确步骤

孤人 提交于 2020-11-15 00:21:11
<div class="info"><h5 id="在安装完成之后初始化数据库之前修改-my.cnf" style="margin: 10px 0px; padding: 0px; font-size: 12px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);">在安装完成之后,初始化数据库之前,修改 my.cnf</h5><ol style="padding: 0px 0px 0px 40px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; white-space: normal; background-color: rgb(255, 255, 255);" class=" list-paddingleft-2"><li><p>打开mysql配置文件<br style="margin: 0px; padding: 0px;"><code style="margin: 1px 5px; line-height: 1.8; vertical-align: middle;

Python机器学习与实战

旧街凉风 提交于 2020-11-15 00:16:53
本课程使用Python3讲解,课程内容同时适应于Windows、Mac OS X和Linux。 本课程以让学员学会使用scikit-learn编写机器学习代码为目的,拒绝纯理论讲解。 scikit-learn实现了大量机器学习算法,如k-临近、线性回归、梯度下降、决策树、支持向量机、朴素贝叶斯、PCA等。通常会将 scikit-learn与深度学习框架,如Tensorflow、PyTorch在一起使用。使用 scikit-learn对数据进行预处理,然后使用 Tensorflow、PyTorch等深度学习框架进行神经网络训练。因此,在学习 Tensorflow、PyTorch等深度学习框架之前,先了解scikit-learn非常重要。 本课程是《机器学习系列课程》中的重要部分。这套视频课程包括但不限于Python基础、常用机器学习框架(如scikit-learn、tensorflow、pytorch、caffe、keras等),机器学习核心算法、大量的实战案例、机器学习的数学基础,机器学习在自然语言处理中的应用、机器学习在推荐系统中的应用。 识别下面二维码进入课程页面: 本文分享自微信公众号 - 极客起源(geekculture)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源:

Cocos游戏开发入门最佳实践

橙三吉。 提交于 2020-11-13 02:00:40
因为公司的业务需求,近期学习了 CocosCreator 这款游戏引擎的开发,也基于此上线了一款游戏,因此写这系列文章记录一下我从入门到项目发布的学习过程。 相对于web开发,像 CocosCreator 和 egret 这种界面化的游戏引擎最大的区别就是可视化的UI编辑,以及像动画编辑、物理引擎、资源管理系统等一系列高度封装集成的工具集。所以第一篇文章我主要会介绍一下我从web端开发转向游戏开发这个过程中,我对cocos的工作流程的一些认识。尽管文档上有介绍但是新手上路,很多东西一开始被我忽略掉了,随着项目的进展,我断断续续地从文档、社区中学到了一些能提高效率的小方法和配置,在此记录一下,主要给其他新人做参考 熟悉编辑器 因为游戏的界面编辑都是通过编辑器来完成的,所以编辑器的一些基本功能和操作说明我们需要通过文档去理解熟悉,我这里会记录几个我新建一个项目必须会用的设置 配置项目设置 在开始做项目前,别忘了要在 项目-项目设置 中先设置下面几个配置,后续的新建场景都会默认使用这些配置,后面就不需要每建一个场景都要设置一下了 初始预览场景(指定某一个场景/当前打开场景),我一般设置后者 设计分辨率,引擎默认的是960*640 适配模式(fit-height/fit-width) 调整编辑器布局 在工作中,因为我们绑定资源、脚本和变量的过程都是通过把它们拖拽到属性面板来实现的

antirez辞去Redis项目领导者职务

时光总嘲笑我的痴心妄想 提交于 2020-11-12 03:21:20
Redis 作者 antirez 在博客 公布 了从 Redis 项目辞职的消息,将不再担任 Redis 项目的领导者和维护者。 antirez 选择将 Redis 交给 Redis 社区打理,并邀请到了两位同事 Yossi Gottlieb 和 Oran Agra 继续维护 Redis 项目。而他将成为 Redis Labs 顾问委员会的一员,会为 Redis 的更多发展可能性输出自己的想法。至于是否还会写代码,antirez 表示自己也不知道,因为目前还没制定好未来的计划。他希望去探索自己的一些爱好,比如写博客,以及最近在做的向大众科普技术概念的视频。 谈及 Redis,antirez 表示为确保它的可用性和可靠性,自己投入了大量时间和精力,他的大部分注意力都花在了查看其他开发者为 Redis 提交的代码上,但 antirez 说到从来没有想过要成为一名软件维护者。而现在他越来越多地被要求做这方面的工作,被一个变得如此重要的项目所创造的环境所要求,只能少一点表达自己,多一点维护项目。 antirez 也认同这的确正是 Redis 现在所需要的,但这并不是他所想做的事情。他表示在过去的几年里,已经把自己累得够呛了。 antirez 认为写代码是一种自我表达的方式,他所写的代码是一种艺术品,而不仅仅是为了完成目标而造出有用的东西——当然他认为自己写的东西也是有用的

golang | Go语言入门教程——结构体初始化与继承

ぐ巨炮叔叔 提交于 2020-11-11 21:48:37
点 击 上 方 蓝 字 ,关注并星标, 和 我 一 起 学 技 术 。 今天是 golang专题 第10篇文章,我们继续来看golang当中的面向对象部分。 在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么给结构体定义函数,还有函数接收者的使用。今天我们来学习一下结构体本身的一些使用方法。 初始化 在golang当中 结构体初始化的方法有四种 。 new关键字 我们可以通过new关键字来创建一个结构体的实例,这种方法和其他语言比较类似,这样会得到一个 空结构体指针 ,当中 所有的字段全部填充它类型对应的零值 。比如int就对应0,float对应0.0,如果是其他结构体则对应nil。 type Point struct { x int y int } func main () { var p *Point = new (Point) fmt.Print(p) } 从这段代码当中我们可以看到,new函数 返回的是一个结构体指针 ,而不是结构体的值。一般我们很少用new关键字,而是直接通过结构体加花括号的方式来初始化。 结构体名称 相比于使用new关键字,我们更常用的是 通过结构体名称加上花括号 的方式来进行初始化。 如果我们不再花括号当中填写参数的话,那么同样会得到一个填充了零值的结构体。结构体当中的所有属性都会被赋予这个类型对应的零值。 type Point struct

ModelSim 使用【四】ModelSim手动仿真

余生长醉 提交于 2020-11-10 07:35:32
【注】 本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。 这是系列第四篇。 4.1 新建仿真工程 在开始动手仿真之前,首先,我们需要创建一个文件夹用来放置我们的 ModelSim 仿真工程文件,这里我们就在之前创建的 Quartus 工程目录下的 simulation 文件夹中创建一个manual_modelsim 文件夹。manual_modelsim 文件夹创建好以后,我们还需要将已经编写好的Verilog 仿真文件和 Testbench 仿真文件添加至我们的 manual_modelsim 文件夹中,这里我们就将自动仿真时用到的 Verilog_First.v 文件和 Verilog_First.vt 文件复制到 manual_modelsim文件夹。(Verilog_First.v 文件在我们的 Quartus II 工程目录下,Verilog_First.vt 文件在我们的Quartus II 工程目录下 simulation 文件夹下的 modelsim 文件夹中。)完成以上准备工作之后,我们就可以打开 ModelSim-Altera 10.1d (Quartus II 13.1)软件了,这里我们需要注意的是,我们打开的 ModelSim 软件版本是 ModelSim-Altera Starter

蚂蚁金服智能监控云原生可观测大盘设计概览

旧街凉风 提交于 2020-11-09 04:47:05
1 背景 蚂蚁金服业务自定义监控是蚂蚁金服监控产品中的一个重要功能,主要是通过自定义日志数据源并配置大盘的方式来解决蚂蚁金服业务实时监控的需求。在产品功能上,用户可以通过对一系列日志数据源的创建、组织、管理及表单配置化的方式,简单、快速组织出一个多维监控大盘。这项能力在当时是一个具有创新性的能力,从功能到产品体验上很好解决了当时蚂蚁金服复杂业务监控的痛点。 但是,随着 蚂蚁金服 监控产品的不断迭代更新,以及云原生可观测性对于监控大盘的高要求,大家对自定 义监控的体 验诉求也越来越多,包括更便捷的交互方式、更丰富的图表、更丰富的数据源、更多扩展点等,因此对监控大盘的升级也势在必行 。 本文将介绍蚂蚁金服监控产品在监控大盘方面的创新设计与尝试,新版自定义监控大盘 Barad-Dur 目标成为业界体验优秀的自定义监控大盘,在交互、体验与设计理念上有诸多创新点,同时将以模块的形式发布,支持二次开发,可以同时为蚂蚁金服内外监控系统服务。 2 产品体验 WYSIWYG 当前优秀的监控大盘产品都标配一个“所见即所得(WYSIWYG)”编辑器,这方面能力是蚂蚁金服监控产品一直缺失的。在蚂蚁金服监控产品中配置大盘还是通过传统的表单方式,对用户非常不友好、学习曲线陡峭、配置效率不高。导致用户经常将配置大盘作为一项需求提给监控团队,由监控团队的“大盘配置专家”来进行配置,不仅存在较高的沟通成本

小师妹学JVM之:JIT中的PrintAssembly

北城余情 提交于 2020-11-09 00:59:08
点击 上方的 蓝字 关注我吧 程序那些事 简介 想不想了解JVM最最底层的运行机制?想不想从本质上理解java代码的执行过程?想不想对你的代码进行进一步的优化和性能提升? 如果你的回答是yes。那么这篇文章非常适合你,因为本文将会站在离机器码最近的地方来观看JVM的运行原理:Assembly。 使用PrintAssembly 小师妹:F师兄,上次你给我介绍了java中的字节码,还有JIT中的LogCompilation和PrintCompilation的用法。虽然都非常有用,但是能不能更进一步,让我能以机器的眼光来看待JVM的执行? 小师妹,如果要探究JVM的运行本质,那就应该是机器码了。难道你要去读懂机器码?虽然我不是机器码的专家,但我猜那应该是个非常复杂的过程。 小师妹:F师兄,当然不是机器码,有没有比机器码更高级一点点的,我记得上大学的时候学过汇编语言,好像就是离机器码最近的语言了,JVM有没有相应的汇编语言呢? 必须有的,我们可以使用 -XX :+PrintAssembly 来将assembly打印出来。 但是打印assembly是有条件的,它就像一个高傲的姑娘,不是你想追求就能追求得上的。 我们使用下面的命令来查看系统对PrintAssembly的支持程度: java -XX :+UnlockDiagnosticVMOptions -XX :+PrintAssembly

如何从Bash变量中修剪空格?

纵然是瞬间 提交于 2020-11-08 18:54:53
问题: I have a shell script with this code: 我有一个带有以下代码的shell脚本: var=`hg st -R "$path"` if [ -n "$var" ]; then echo $var fi But the conditional code always executes, because hg st always prints at least one newline character. 但是条件代码总是执行,因为 hg st 总是打印至少一个换行符。 Is there a simple way to strip whitespace from $var (like trim() in PHP )? 有没有一种简单的方法可以从 $var 删除空格(如 PHP中的 trim() )? or 要么 Is there a standard way of dealing with this issue? 有没有解决此问题的标准方法? I could use sed or AWK , but I'd like to think there is a more elegant solution to this problem. 我可以使用 sed 或 AWK ,但是我想认为有一个更优雅的解决方案。 解决方案: 参考一: https:/