Java陷阱之assert关键字【转】
Java陷阱之assert关键字
一、概述
在C和C++语言中都有assert关键,表示断言。
在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。
二、语法
Compile、Make和Build的区别
针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。
编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目录层次关系。
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。
2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工作,因此时间较长。
一本关于测试传道授业解惑方面的书,书中阐述了Google主要采取的测试模型(ACC等)、自动化测试、探索式测试(Exploratory
Testing)等方面,同时也讲述了Google在测试组织方面的进化及各岗位的职责分工及协作。经过努力,Google的测试部门已经从原先的测试服务部门进化为工程生产力部门(Engineering
Productivity)。
从本书能感觉到Google是把自动化测试、开发测试工具提高效率作为测试的首要任务。提高开发和测试的生产力是测试最为关注的问题,所以Google入职的测试员工在技术方面的能力是丝毫不亚于相关的开发人员。测试要在组织中持续灌输质量是全员负责的概念,在开发阶段就必须做好相关的单元测试,通过每日构建,能把问题提前发现、及时处理,不把有问题的代码带到代码库。
桐这个学期因为住在学校附近,所以经常放学就跑步了。
跑步也进步很大,上学期(11月份左右)校运会拿了第4名(3分59秒)。前天跑步测验的时候,跑了班级第一(3分52秒),因为是夏至,天气比较热,这个成绩还不错。
第一次听到探索性测试这个词是去年的10月份。一个微博上的朋友写了一篇关于探索式测试的blog,之后断断续续的阅读了不少相关资料,参加了数场相关讨论,但是还是没有得到一个系统的理解。8月29日晚上有幸聆听了测试顶级专家Micheal Bolton(不是唱歌的那个,是做测试的)关于探索性测试的演讲,解决了数个困扰我很久疑惑。我终于得以把这些知识理清,下面我会把我所理解的探索性测试跟大家做一个分享。
探索性测试的历史和主旨
一篇关于Github和Coding的区别的说明。
概括的说就是,Github主要定位是开源项目的协作,Coding主要定位是私有开发的云端服务平台。
为什么
Coding 不是中国的 Github ?
同性交友软件Github :-)
作为开发者社区GitHub有何特别之处?
眼下软件对各行各业的重要性都在提升,而合作的软件开发和代码分享也有着越来越大的需求。GitHub的成功在很大程度上基于软件开发的开源模式,这种模式意味着开发者可以自由地修改及发布代码。开源软件正在被越来越多企业使用,这帮助企业节约授权费用和开发成本。而通过在GitHub上开展开源项目,以及为开源项目贡献代码,企业也可以更好地吸引开发者,完成招聘。GitHub有何特别之处,具体来说有以下几方面。
参考: hexo 回车换行无效?
markdown的换行规范:
段落与换行
markdown的规范是软回车,键盘上的回车键是硬回车。一般回车是代表换段。在markdown中,要创建段落,请使用空白行将一行或多行文本进行分隔。
问题:
mac上,之前使用hexo(19年配置的)+next皮肤,回车键就是换行符号了,用起来很丝滑。
最近hexo频繁报错,我就重新装了个最新版本,必须要加,极为难用,而且之前的也要一个一个改正,把 ,十分痛苦。
问问各位大佬,如何改为之前那种使用。
回答:
终于弄好了,尝试更改了marked,marked-i,pand.....等渲染,mathjax数学公式,捣鼓一天,全都不work,有冲突。最后将以前的package.json中的所有依赖重新安装,就和以前一样了。主要是 mathjax 的锅,加了mathjax:true后就没法自动换行了。所以建议大家图省事的话也是找一个没问题的package.json,全部无脑照着安装就行。
个人搞了好久,使用原先的kramed渲染器,回车换行倒是可以了,但数学公式很多地方显示不正常。并且kramed已经停止更新好多年了,所以决定不再用。
markdown-it支持KaTex,但对MathJax的支持不好,所以也没用。
后来还是保留了pandoc的渲染器。即使需要批量修改原先的md文件,特别是段内换行的问题比较突出。
发现在pakage.json中,renderer部分就保留了:
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-pandoc": "^0.4.0",
"hexo-renderer-stylus": "^3.0.1",
其实就是使用了next的mathjax引擎,然后安装hexo的pandoc渲染器。
pandoc语法的几个常见注意事项:
使用 pandoc 渲染器 切换 hexo-renderer-pandoc 后,公式倒是能正常显示,但是图片,文本格式需要按 pandoc 的 markdown 格式修改,因此,做了批量调整:
有时,我们可能需要将文件中的换行符替换为其他字符,比如英文逗号、分号等。
Sublime Text 使用正则表达式来替换文本内容非常方便。
举例,一个回车键替换成 空格+空格+回车,以实现段内换行的效果。
你可以通过以下步骤来替换:
1. 打开 Sublime Text 编辑器
2. 打开要替换的文件
3. 按下快捷键「Ctrl + H」(「Cmd + Shift + H」在 Mac 上)
4. 在「Find What」输入框中输入需要替换的字符串:\n
5. 在「Replace With」输入框中输入替换后的字符串:空格+空格+\n
6. 选择「Regular Expression」复选框 (sublime 里面的 .* 那个按钮)
7. 点击「Replace」或「Replace All」按钮进行替换
如果你需要使用正则表达式语法,例如匹配数字、单词等,请参考其它资源了解正则表达式语法。
注意事项,替换的时候因为yaml部分也增加了两个空格,导致出错,需要把yaml那些多出来的空格删除。
软件升级最大的问题,规范变了,导致历史的文章需要根据新的规范做修改。
安装完成后执行 hexo clean. 命令来清空以前生成的 HTML 文件,然后重新 hexo g -d 发布。
关于markdown换行的一篇好文章。 markdown段内换行的说明
Hexo 作为一个优秀的 Markdown 博客框架,自然也诞生了很多适用的 Markdown 渲染器,这里对比分析一下 Hexo 下几种常用的 Markdown 渲染器: hexo-renderer-marked , hexo-renderer-kramed , hexo-renderer-pandoc , hexo-renderer-markdown-it , hexo-renderer-markdown-it-plus 。
Next 提供了两个渲染引擎来显示数学方程: MathJax 和 KaTeX。要使用这个特性,您只需要选择一个渲染引擎并打开它的 enable(位于home config file)。 然后你需要安装相应的 Hexo 渲染器来完全支持数学方程式的显示。
git config --global user.name “hongyitong”
git config --global user.email “hogyuanjiao@hotmail.com”
ssh-keygen -t rsa -b 4096 -C “hogyuanjiao@hotmail.com”
查看本地是否存在SSH密钥
命令:ls -al ~/.ssh
如果在输出的文件列表中发现id_rsa和id_rsa.pub的存在,证明本地已经存在SSH密钥,请执行第3步
查看SSH公钥
命令:cat /Users/电脑用户名/.ssh/id_rsa.pub
复制打印出来的信息,在GitLab或者GitHub的SSH
Keys中进行相应设置即可
警告的信息
> You've successfully authenticated, but GitHub does not provide
shell access.
这句话其实一直存在,它只是想告诉你,github 不允许 shell
交互。仅此而已。
Mac用户注意了,要使用管理员权限,首先:“sudo -s”,回车,输入密码,再回车,然后:“npm install -g hexo-cli”,回车,等待下载安装即可!
其实简单说,就是四个部分:
1、备份
备份source文件夹(所有的MD文件都在这里);备份站点的_config.yml,主题的的_config.yml;
如果担心,可以把整个hexo目录备份下来;
2、安装
按照指引安装(其实可以按照第一次的安装来处理),只是涉及github
仓库那一部分是不需要了;
3、恢复
1)把source目录恢复覆盖;
2)两个_config.yml的内容,比较,然后把需要的部分copy到新装的文件里面替换对应内容。注意,这里不要用整个文件覆盖的模式,因为可能对应的软件的版本不一致了。
4、安装相关的插件
包括支持数学公式、置顶、搜索等等;
因为之前上传到百度网盘的MD源文件,下载之后的创建日期都变成下载那天的时间,导致之前很多没有定义date时间的都默认成下载的日期了。
花了好长时间把MD文件的date属性都加上了发布的时间。
多机部署参考:
多机更新 Hexo
博客
上文中提到的:先在电脑中的某一位置建立好 your_name.github.io 文件夹,比如
D:_name.github.io;
因为之前习惯取了hexo的名字,其实 hexo目录就是这里所谓的
youre_name.githubo.io文件夹。
经过几天的努力,终于把个人的博客搭建得差不多了。个人的博客现在存在Github和Coding两个地方,地址分别是:
Github版
Coding版
!Coding版本因为有100M的空间限制,无法发布了!
Coding用不了之后,使用了码云Oschina,具体的设置如下(不过Oschina还有有点不稳定和刷新速度比较慢。):
Oschina版
Oschina免费版限制空间了,因为博客容量太大,无法再从github中pull过来了
码云
搭建个人免费博客:利用Hexo在码云上部署博客
在搭建过程当中,参考了以下的文档,特此记录!
如何利用GitHub
Pages和Hexo快速搭建个人博客
(这个博客不知道什么原因,访问不了:()
参考一下以下几个吧:
知行合一 用 Hexo
搭建博客
Hexo+nexT主题搭建个人博客
手把手教你使用Hexo
+ Github Pages搭建个人独立博客
hexo同时托管到coding.net与github
如何将Hexo
Blog同时发布到GitHub跟Coding上
|Hexo优化|如何向google提交sitemap(详细)
获取 google site verification code
登录 Google Webmaster Tools,导航到验证方法,并选择 HTML
Tag。将会获取到一段代码:
1 | <meta name="google-site-verification" content="XXXXXXXXXXXXXXXXXXXXXXX" /> |
将 content 里面的 XXXXXXXXXXXXXXXXXXXXXXX 复制出来。
设置主题。编辑 站点配置,新增字段 google_site_verification。
google_site_verification: XXXXXXXXXXXXXXXXXXXXXXX
在google加了github的收录,但是在增加百度收录的时候,一直生成不了baidusitemap.xml文件。暂时放弃。(后来重启电脑就自动有了:-()
hexo干货系列:(六)hexo提交搜索引擎(百度+谷歌)
!!!!!如果本地预览没问题,部署到github有问题的话,先 hexo clean掉在重新 hexo d -g
因为Swiftype收费了,转向了微搜索:
NexT主题下的两种搜索服务的问题
后来简单点,直接使用了Next主题的本地搜索了,具体见下文!
Hexo博客添加站内搜索
补充一点,还需要修改主题下的_config.yml文件,把enable:false改成true
1 | # Local search |
A:next或者hexo,链接站内文章的方法?
B:关于引用站内文章的链接,可以使用以下语法:
1 | {% post_link markdown-learning-by-maxiang 点击这里查看这篇文章 %} |
markdown-learning-by-maxiang是你的文章名称。如果文章不存在,这段代码将会被直接忽略。
点击这里查看这篇文章是该链接的标题。如果置空,则自动提取文章的标题。
ps:这个功能跟主题无关。
在github上新建了一个仓库,然后相与本地的仓库联系起来
$ Git remote add origin https://github.com/liona329/learngit.git fatal:
Not a git repository (or any of the parent directories): .git
总是报这个错
解决方法:git init
成功
1 | [hongyitong/hongyitong.github.io] Page build failure |
升级NexT主题以后,执行hexo clean,出错:
1 | ✗ hexo clean |
解决办法:重新安装hexo-util模块
1 | npm install -- save-dev hexo-util |
可以在浏览器中输入 博客网址:
1 | http://localhost:4000/search.xml |
其中 search.xml是搜索的内容文档,在hexo 对应的pubic目录下。
如果有错,浏览器会报出具体的错误。
可以找到引起错误的md文件,然后在search.xml文档中找到对应的段落,可以使用https://www.xmlvalidation.com/
来验证对应段落的具体错误原因。
具体的文档可以见:https://guahsu.io/2017/12/Hexo-Next-LocalSearch-cant-work/
http://www.sqlsec.com/2017/12/hexosearch.html
Hexo+Next主题 文章添加阅读次数,访问量等:
https://blog.csdn.net/xr469786706/article/details/78166227
hexo博客解决不蒜子统计无法显示问题:
https://www.jianshu.com/p/fd3accaa2ae0
今天升级macOS High Sierra,终端里使用git的时候,弹出一行莫名其妙的错误:
1 | xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun |
解决方法,重装xcode command line:
1 | xcode-select --install |
如果没有解决问题,执行以下命令
1
sudo xcode-select -switch /
黑格尔说过,人类从历史中得到的教训就是:人类从来不记取历史教训。
比较了好多关于清朝历史方面的书,《正说清朝十二帝》因为丰富的彩色插图吸引了我。书中每个章节根据内容,配有各类的图片,包括人物画像、物品图、景色图、书法图、名画等等。
但可能是正说的缘故,书中文字还是比较晦涩,故事也比较平淡,缺少了《明朝那些事儿》的诙谐、有趣感。
清朝处在一个特殊的时代,中国已经从盛唐时期的万国之国,没落成了落后挨打的一方。
当时,西方主要的国家,英国、法国、德国、美国,都走上了资本主义发展的道路,这些国家对内努力发展工业,提高科学技术,对外进行殖民扩张。近邻日本也实行了明治维新,实现了国家的现代化。而清朝还沉浸在“天朝统御万国”、“天朝物产丰盛,无所不有,原不藉外夷货物,一通有无”的幻境中。在强敌面前,清朝皇帝采取“率祖旧章”、“持盈保泰”的保守态度,导致国家一步步滑向了灭国的境地。