<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Levan的鱼塘</title>
  
  
  <link href="/atom.xml" rel="self"/>
  
  <link href="https://levanax.github.io/"/>
  <updated>2022-09-24T07:05:15.314Z</updated>
  <id>https://levanax.github.io/</id>
  
  <author>
    <name>Levan</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>eclipse 笔记</title>
    <link href="https://levanax.github.io/2022/09/24/IDE/eclipse/"/>
    <id>https://levanax.github.io/2022/09/24/IDE/eclipse/</id>
    <published>2022-09-24T06:55:59.000Z</published>
    <updated>2022-09-24T07:05:15.314Z</updated>
    
    <summary type="html">
    
      &lt;h3 id=&quot;build-fail&quot;&gt;&lt;a href=&quot;#build-fail&quot; class=&quot;headerlink&quot; title=&quot;build fail&quot;&gt;&lt;/a&gt;build fail&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;/assets/2022-9-24/eclipse-question-1.png&quot; alt=&quot;img&quot;&gt;&lt;br&gt;当java 项目 build 不成功时，delete 上述 error 即可&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="开发工具" scheme="https://levanax.github.io/categories/Levan-update/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="eclipse" scheme="https://levanax.github.io/tags/eclipse/"/>
    
  </entry>
  
  <entry>
    <title>XCode 笔记</title>
    <link href="https://levanax.github.io/2022/09/24/IDE/xcode/"/>
    <id>https://levanax.github.io/2022/09/24/IDE/xcode/</id>
    <published>2022-09-24T06:55:59.000Z</published>
    <updated>2022-09-24T06:56:17.836Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;Open the Organizer window in Xcode (menu Window &amp;gt; Organizer)&lt;br&gt;Click on the Archives icon in the top middle&lt;br&gt;Select the desired archive by app name and date&lt;br&gt;Click Show in Finder in the context menu&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="开发工具" scheme="https://levanax.github.io/categories/Levan-update/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="XCode" scheme="https://levanax.github.io/tags/XCode/"/>
    
  </entry>
  
  <entry>
    <title>sonarqube</title>
    <link href="https://levanax.github.io/2022/09/24/IDE/sonarqube/"/>
    <id>https://levanax.github.io/2022/09/24/IDE/sonarqube/</id>
    <published>2022-09-24T06:55:59.000Z</published>
    <updated>2022-09-24T07:01:21.181Z</updated>
    
    <summary type="html">
    
      &lt;h3 id=&quot;js-project&quot;&gt;&lt;a href=&quot;#js-project&quot; class=&quot;headerlink&quot; title=&quot;js project&quot;&gt;&lt;/a&gt;js project&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;进入项目文件夹根路径&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装依赖包：npm i sonarqube-scanner –save-dev&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根路径下 新建 sonarqube-scanner.js 文件，文件内容如下：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;figure class=&quot;highlight js&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;17&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;const&lt;/span&gt; scanner = &lt;span class=&quot;built_in&quot;&gt;require&lt;/span&gt;(&lt;span class=&quot;string&quot;&gt;&#39;sonarqube-scanner&#39;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;scanner(&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;// sonarqube 服务的 URL&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    serverUrl: &lt;span class=&quot;string&quot;&gt;&#39;http://ip:9100&#39;&lt;/span&gt;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    token: &lt;span class=&quot;string&quot;&gt;&#39;XXXXXXXXXXXXXXXXXXXXXXX&#39;&lt;/span&gt;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    options: &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;comment&quot;&gt;// 项目名称&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;string&quot;&gt;&#39;sonar.projectName&#39;&lt;/span&gt;: &lt;span class=&quot;string&quot;&gt;&#39;test2&#39;&lt;/span&gt;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;string&quot;&gt;&#39;sonar.projectDescription&#39;&lt;/span&gt;: &lt;span class=&quot;string&quot;&gt;&#39;test2&#39;&lt;/span&gt;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;comment&quot;&gt;// 需要扫描的项目文件路径, 注意，路径别写 ./src，会导致无法排除目录&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;string&quot;&gt;&#39;sonar.sources&#39;&lt;/span&gt;: &lt;span class=&quot;string&quot;&gt;&#39;src&#39;&lt;/span&gt;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;      &lt;span class=&quot;string&quot;&gt;&#39;sonar.exclusions&#39;&lt;/span&gt;: &lt;span class=&quot;string&quot;&gt;&#39;src/test/**&#39;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &amp;#125;,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  () =&amp;gt; process.exit()&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;ol start=&quot;4&quot;&gt;&lt;li&gt;执行命令：node sonarqube-scanner.js&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;参考资料：&lt;a href=&quot;https://javascript.plainenglish.io/how-to-set-up-sonarqube-locally-on-a-react-typescript-project-ec02cd8e2626&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://javascript.plainenglish.io/how-to-set-up-sonarqube-locally-on-a-react-typescript-project-ec02cd8e2626&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="开发工具" scheme="https://levanax.github.io/categories/Levan-update/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="sonarqube" scheme="https://levanax.github.io/tags/sonarqube/"/>
    
  </entry>
  
  <entry>
    <title>[Note] Android笔记</title>
    <link href="https://levanax.github.io/2022/09/24/android/android-note/"/>
    <id>https://levanax.github.io/2022/09/24/android/android-note/</id>
    <published>2022-09-24T06:45:02.000Z</published>
    <updated>2022-09-24T06:53:23.602Z</updated>
    
    <summary type="html">
    
      &lt;h3 id=&quot;安装-amp-使用-环境变量&quot;&gt;&lt;a href=&quot;#安装-amp-使用-环境变量&quot; class=&quot;headerlink&quot; title=&quot;安装&amp;amp;使用 环境变量&quot;&gt;&lt;/a&gt;安装&amp;amp;使用 环境变量&lt;/h3&gt;&lt;figure class=&quot;highlight plain&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;Android&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;tools, tools&amp;#x2F;bin, and platform-tools&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;ANDROID_HOME&amp;#x3D;[Android SDK PATH] &amp;#x2F;&amp;#x2F; 将该字段添加到 变量 键&amp;#x3D;值 队列里&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#x2F;&amp;#x2F; add path ，将以下路径配置到 变量 PATH ， User PATH， System Path 皆可&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;%ANDROID_HOME%\tools&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;%ANDROID_HOME%\tools\bin&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;%ANDROID_HOME%\platform-tools&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Android" scheme="https://levanax.github.io/categories/Levan-update/Android/"/>
    
    
      <category term="Android Note" scheme="https://levanax.github.io/tags/Android-Note/"/>
    
  </entry>
  
  <entry>
    <title>html5 &amp; javascript 笔记</title>
    <link href="https://levanax.github.io/2022/09/24/html5/html5-java-script-note/"/>
    <id>https://levanax.github.io/2022/09/24/html5/html5-java-script-note/</id>
    <published>2022-09-24T06:42:46.000Z</published>
    <updated>2022-09-24T06:44:22.177Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;HTML5&quot;&gt;&lt;a href=&quot;#HTML5&quot; class=&quot;headerlink&quot; title=&quot;HTML5&quot;&gt;&lt;/a&gt;HTML5&lt;/h2&gt;&lt;h3 id=&quot;浏览器-user-agent-标识判断&quot;&gt;&lt;a href=&quot;#浏览器-user-agent-标识判断&quot; class=&quot;headerlink&quot; title=&quot;浏览器 user-agent 标识判断&quot;&gt;&lt;/a&gt;浏览器 user-agent 标识判断&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/zh-CN/docs/Web/HTML&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/zh-CN/docs/Web/HTML&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://developer.mozilla.org/zh-CN/docs/Web/HTTP&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/zh-CN/docs/Web/HTTP&lt;/a&gt;&lt;/p&gt;&lt;h3 id=&quot;input&quot;&gt;&lt;a href=&quot;#input&quot; class=&quot;headerlink&quot; title=&quot;input&quot;&gt;&lt;/a&gt;input&lt;/h3&gt;&lt;figure class=&quot;highlight html&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&amp;lt;!--- 不被html5后规范采纳的，仅用于解决Iphone 输入框，弹出数字键盘，却又可以在代码中加入逗号用作格式化 ---&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;placeholder&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;test&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;test&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;inputmode&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;decimal&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comment&quot;&gt;&amp;lt;!--- html5 新特性，安卓手机 弹出键盘是可以有小数点的 ---&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;placeholder&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;test2&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;test2&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;pattern&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;[0-9]*&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;hr&gt;&lt;h3 id=&quot;form表单内-button-type-submit&quot;&gt;&lt;a href=&quot;#form表单内-button-type-submit&quot; class=&quot;headerlink&quot; title=&quot;form表单内 button type=submit&quot;&gt;&lt;/a&gt;form表单内 button type=submit&lt;/h3&gt;&lt;figure class=&quot;highlight html&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;name&quot;&gt;form&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;text&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;username&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;submit&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;onclick&lt;/span&gt;=&lt;span class=&quot;string&quot;&gt;&quot;login&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;span class=&quot;name&quot;&gt;form&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;blockquote&gt;&lt;p&gt;预期：以上代码结构，我想在 点击 submit button 时，在click login 方法内以ajax方式请求后端&lt;br&gt;&lt;em&gt;不能以改结构方式处理，因为form input submit 都与style相关联&lt;/em&gt;&lt;br&gt;问题：实际结果始终不如预期&lt;br&gt;原因： form表单虽然没有 action 属性，点击 submit同样会触发form 提交方式，action为当前地址栏URL&lt;br&gt;解决：点击submit button 时，使用 e.preventDefault(); 阻止默认的from表单提交方式&lt;/p&gt;&lt;/blockquote&gt;&lt;hr&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Web" scheme="https://levanax.github.io/categories/Levan-update/Web/"/>
    
    
      <category term="html5" scheme="https://levanax.github.io/tags/html5/"/>
    
      <category term="javascript笔记" scheme="https://levanax.github.io/tags/javascript%E7%AC%94%E8%AE%B0/"/>
    
  </entry>
  
  <entry>
    <title>Linux笔记</title>
    <link href="https://levanax.github.io/2022/09/24/linux/linux-cmd-note/"/>
    <id>https://levanax.github.io/2022/09/24/linux/linux-cmd-note/</id>
    <published>2022-09-24T06:42:08.000Z</published>
    <updated>2022-09-24T07:05:49.461Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;常用命令&quot;&gt;&lt;a href=&quot;#常用命令&quot; class=&quot;headerlink&quot; title=&quot;常用命令&quot;&gt;&lt;/a&gt;常用命令&lt;/h2&gt;&lt;h3 id=&quot;新建&quot;&gt;&lt;a href=&quot;#新建&quot; class=&quot;headerlink&quot; title=&quot;新建&quot;&gt;&lt;/a&gt;新建&lt;/h3&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;# 在当前目录下新建 test 文件夹&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$&lt;span class=&quot;built_in&quot;&gt;mkdir&lt;/span&gt; test&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;查找&quot;&gt;&lt;a href=&quot;#查找&quot; class=&quot;headerlink&quot; title=&quot;查找&quot;&gt;&lt;/a&gt;查找&lt;/h3&gt;&lt;h4 id=&quot;简单查找&quot;&gt;&lt;a href=&quot;#简单查找&quot; class=&quot;headerlink&quot; title=&quot;简单查找&quot;&gt;&lt;/a&gt;简单查找&lt;/h4&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;$ls -l &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; - 简写为ll -查看目录下文件&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$less file&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;? 向上查找&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;/ 向下查找&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;n 使用查找后,跳到下个匹配位置&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;N 跳至上一个匹配位置&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h4 id=&quot;正则表达式搜索文件&quot;&gt;&lt;a href=&quot;#正则表达式搜索文件&quot; class=&quot;headerlink&quot; title=&quot;正则表达式搜索文件&quot;&gt;&lt;/a&gt;正则表达式搜索文件&lt;/h4&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;$egrep -i -a1 &#39;loadWithdrawalacc[a-zA-Z -]+&lt;span class=&quot;number&quot;&gt;0324&lt;/span&gt;&#39;  &lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;goportal.log&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; -i 忽略大小写&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; -b1 匹配前一行&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; -a1 包含被匹配后一行&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;egrep -i  &#39;action.*K00660232&#39;  &lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;goportal.log &amp;gt; K00660232.log&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; -i 忽略大小写&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; * 匹配任意字符&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &amp;gt; K00660232.log #意思是按前面的正则匹配出来的所有行，另存为一份文件（名称：K00660232.log）&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;su  #进入root权限&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;exit&lt;/span&gt; #退出su 进入的root权限&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;su test #切换用户为 test&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;复制&quot;&gt;&lt;a href=&quot;#复制&quot; class=&quot;headerlink&quot; title=&quot;复制&quot;&gt;&lt;/a&gt;复制&lt;/h3&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;Linux命令，复制文件夹&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$cp -r MR BOUAT27 &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;将 MR文件夹所有文件 复制到 BOUAT27（BOUAT27 不存在）&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;如果BOUAT27 已经存在&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$cp -r MR/.  BOUAT27&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;复制-A-Linux-到-B-Linux&quot;&gt;&lt;a href=&quot;#复制-A-Linux-到-B-Linux&quot; class=&quot;headerlink&quot; title=&quot;复制 A Linux 到 B Linux&quot;&gt;&lt;/a&gt;复制 A Linux 到 B Linux&lt;/h3&gt;&lt;figure class=&quot;highlight plain&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;linux 复制命令：scp -r user@remotehost:&amp;#x2F;home&amp;#x2F;backups &amp;#x2F;home&amp;#x2F;slynux&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;- 远程机A目录：user@remotehost:&amp;#x2F;home&amp;#x2F;backups&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;- 本机A 目录:  &amp;#x2F;home&amp;#x2F;slynux&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;*从远程机目录A 复制到 本机 目录A，或者调换 目录，前后顺序，即从本机复制到远程机&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;figure class=&quot;highlight plain&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;$rsync -chavzP --stats  --exclude-from&amp;#x3D;&amp;quot;.&amp;#x2F;exclude_path.txt&amp;quot; tomcat@192.168.1.40:&amp;#x2F;home&amp;#x2F;tomcat&amp;#x2F;levana-test test2022&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;#.&amp;#x2F;exclude_path.txt 文件内容如下&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;tttt &amp;#x2F;&amp;#x2F;被忽略的指定目录&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$rsync -chavzP --stats  --exclude&amp;#x3D;&amp;quot;test*&amp;quot; tomcat@192.168.1.40:&amp;#x2F;home&amp;#x2F;tomcat&amp;#x2F;levana-test test2022&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;test*  &amp;#x2F;&amp;#x2F; 被忽略文件夹名称规则 -正则表达式&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;压缩-解压&quot;&gt;&lt;a href=&quot;#压缩-解压&quot; class=&quot;headerlink&quot; title=&quot;压缩/解压&quot;&gt;&lt;/a&gt;压缩/解压&lt;/h3&gt;&lt;h4 id=&quot;ZIP&quot;&gt;&lt;a href=&quot;#ZIP&quot; class=&quot;headerlink&quot; title=&quot;ZIP&quot;&gt;&lt;/a&gt;ZIP&lt;/h4&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;zip all.zip *.jpg   #将所有.jpg的文件压缩成一个zip包&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;unzip all.zip    #将all.zip中的所有文件解压到当前目录中&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;unzip all.zip -d all #将all.zip 中的所有文件解压到当前目录中的all文件夹中&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;zip -r hy.zip hy  #将当前目录下的hy文件夹压缩为hy.zip&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;zip -r hy.zip hy &lt;span class=&quot;number&quot;&gt;123&lt;/span&gt;.txt  #将当前目录下的hy文件夹和&lt;span class=&quot;number&quot;&gt;123&lt;/span&gt;.txt压缩为hy.zip&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;tar -zxvf ×××.tar.gz&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;tar -jxvf ×××.tar.bz2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;编辑&quot;&gt;&lt;a href=&quot;#编辑&quot; class=&quot;headerlink&quot; title=&quot;编辑&quot;&gt;&lt;/a&gt;编辑&lt;/h3&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;vi /test.txt&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;:%s/aaa/bbb/g  #批量替换 aaa 为 bbb&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Linux" scheme="https://levanax.github.io/categories/Levan-update/Linux/"/>
    
    
      <category term="Linux笔记" scheme="https://levanax.github.io/tags/Linux%E7%AC%94%E8%AE%B0/"/>
    
  </entry>
  
  <entry>
    <title>tomcat</title>
    <link href="https://levanax.github.io/2022/09/24/java/server/"/>
    <id>https://levanax.github.io/2022/09/24/java/server/</id>
    <published>2022-09-24T06:31:34.000Z</published>
    <updated>2022-09-24T06:32:39.080Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;Jul 26, 2018 11:01:02 AM org.apache.catalina.core.StandardContext startInternal&lt;br&gt;SEVERE: One or more Filters failed to start. Full details will be found in the appropriate container log file&lt;br&gt;Jul 26, 2018 11:01:02 AM org.apache.catalina.core.StandardContext startInternal&lt;br&gt;SEVERE: Context [] startup failed due to previous errors&lt;br&gt;web exit …&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
    
      <category term="tomcat" scheme="https://levanax.github.io/tags/tomcat/"/>
    
      <category term="Nessus" scheme="https://levanax.github.io/tags/Nessus/"/>
    
  </entry>
  
  <entry>
    <title>Android APK 反编译</title>
    <link href="https://levanax.github.io/2021/01/16/android/android-unapk/"/>
    <id>https://levanax.github.io/2021/01/16/android/android-unapk/</id>
    <published>2021-01-16T08:20:28.000Z</published>
    <updated>2021-01-16T08:29:52.230Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;反编译 Android apk， &lt;a href=&quot;https://ibotpeaches.github.io/Apktool/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://ibotpeaches.github.io/Apktool/&lt;/a&gt;&lt;br&gt;参考资料：&lt;a href=&quot;https://cloud.tencent.com/developer/article/1740373&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://cloud.tencent.com/developer/article/1740373&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
    
      <category term="Android Note" scheme="https://levanax.github.io/tags/Android-Note/"/>
    
  </entry>
  
  <entry>
    <title>正则表达式笔记</title>
    <link href="https://levanax.github.io/2021/01/16/html5/reg-exp/"/>
    <id>https://levanax.github.io/2021/01/16/html5/reg-exp/</id>
    <published>2021-01-16T08:16:57.000Z</published>
    <updated>2021-01-16T08:18:03.681Z</updated>
    
    <summary type="html">
    
      &lt;h3 id=&quot;匹配数字字符串&quot;&gt;&lt;a href=&quot;#匹配数字字符串&quot; class=&quot;headerlink&quot; title=&quot;匹配数字字符串&quot;&gt;&lt;/a&gt;匹配数字字符串&lt;/h3&gt;&lt;figure class=&quot;highlight javascript&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;string&quot;&gt;&#39;1000.12000&#39;&lt;/span&gt;.match(&lt;span class=&quot;regexp&quot;&gt;/[-]?\d*(?:\d|[.]\d*[^.0])/&lt;/span&gt;)[&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;];  &lt;span class=&quot;comment&quot;&gt;// 匹配数字字符串，用于去掉小数点结尾后 0， 同时兼容整数&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
    
      <category term="RegExp" scheme="https://levanax.github.io/tags/RegExp/"/>
    
  </entry>
  
  <entry>
    <title>Cypress 使用记录</title>
    <link href="https://levanax.github.io/2020/09/23/javascript/cypress-note/"/>
    <id>https://levanax.github.io/2020/09/23/javascript/cypress-note/</id>
    <published>2020-09-23T15:14:17.000Z</published>
    <updated>2020-09-26T11:00:41.885Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;Cypress 是自动化测试工具。&lt;br&gt;&lt;a href=&quot;https://docs.cypress.io/guides/getting-started/testing-your-app.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.cypress.io/guides/getting-started/testing-your-app.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;开发工具&lt;br&gt;VS Code：&lt;a href=&quot;https://code.visualstudio.com/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://code.visualstudio.com/download&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
    
      <category term="App Test" scheme="https://levanax.github.io/tags/App-Test/"/>
    
  </entry>
  
  <entry>
    <title>[BUG] Cordova build</title>
    <link href="https://levanax.github.io/2020/09/10/cordova/cordova-android-bug-1/"/>
    <id>https://levanax.github.io/2020/09/10/cordova/cordova-android-bug-1/</id>
    <published>2020-09-10T07:07:53.000Z</published>
    <updated>2020-09-10T07:14:26.237Z</updated>
    
    <summary type="html">
    
      &lt;h5 id=&quot;问题如下&quot;&gt;&lt;a href=&quot;#问题如下&quot; class=&quot;headerlink&quot; title=&quot;问题如下&quot;&gt;&lt;/a&gt;问题如下&lt;/h5&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;26&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;D:\&lt;span class=&quot;title&quot;&gt;Levana2&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;MyApp&lt;/span&gt;&amp;gt;&lt;span class=&quot;title&quot;&gt;cordova&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;build&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Checking&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Java&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;JDK&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Android&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;SDK&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;versions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;ANDROID_SDK_ROOT&lt;/span&gt;=&lt;span class=&quot;title&quot;&gt;undefined&lt;/span&gt; (&lt;span class=&quot;title&quot;&gt;recommended&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;setting&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;ANDROID_HOME&lt;/span&gt;=&lt;span class=&quot;title&quot;&gt;C&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Users&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;levana.xue&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;AppData&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Local&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Android&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Sdk&lt;/span&gt; (&lt;span class=&quot;title&quot;&gt;DEPRECATED&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Using&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Android&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;SDK&lt;/span&gt;: &lt;span class=&quot;title&quot;&gt;C&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Users&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;levana.xue&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;AppData&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Local&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Android&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;Sdk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Starting&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Gradle&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Daemon&lt;/span&gt; (&lt;span class=&quot;title&quot;&gt;subsequent&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;builds&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;will&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;be&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;faster&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;FAILURE&lt;/span&gt;: &lt;span class=&quot;title&quot;&gt;Build&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;failed&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;an&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;exception&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;* &lt;span class=&quot;title&quot;&gt;What&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;went&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;wrong&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Unable&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;daemon&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;process&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;This&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;problem&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;might&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;be&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;caused&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;by&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;incorrect&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;configuration&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;daemon&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;For&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;example&lt;/span&gt;, &lt;span class=&quot;title&quot;&gt;an&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;unrecognized&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;jvm&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;option&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;used&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Please&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;refer&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Manual&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;chapter&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;daemon&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;at&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;https&lt;/span&gt;://&lt;span class=&quot;title&quot;&gt;docs.gradle.org&lt;/span&gt;/6.6.1/&lt;span class=&quot;title&quot;&gt;userguide&lt;/span&gt;/&lt;span class=&quot;title&quot;&gt;gradle_daemon.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Process&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;command&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;line&lt;/span&gt;: &lt;span class=&quot;title&quot;&gt;D&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Levana.Xue&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;develop&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;tool&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;java&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;jdk&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;openjdk&lt;/span&gt;-8&lt;span class=&quot;title&quot;&gt;u41&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;b04&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;windows&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;i586&lt;/span&gt;-14&lt;span class=&quot;title&quot;&gt;_jan_2020&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;java&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;se&lt;/span&gt;-8&lt;span class=&quot;title&quot;&gt;u41&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;ri&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;bin&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;java.exe&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;Xmx2048m&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;Dfile.encoding&lt;/span&gt;=&lt;span class=&quot;title&quot;&gt;GBK&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;Duser.country&lt;/span&gt;=&lt;span class=&quot;title&quot;&gt;CN&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;Duser.language&lt;/span&gt;=&lt;span class=&quot;title&quot;&gt;zh&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;Duser.variant&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;D&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Levana.Xue&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;develop&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;tool&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;android&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;gradle&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;gradle&lt;/span&gt;-6.6.1\&lt;span class=&quot;title&quot;&gt;lib&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;gradle&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;launcher&lt;/span&gt;-6.6.1.&lt;span class=&quot;title&quot;&gt;jar&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;org.gradle.launcher.daemon.bootstrap.GradleDaemon&lt;/span&gt; 6.6.1&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Please&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;read&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;following&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;process&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;out&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;more&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;-----------------------&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Error&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;occurred&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;during&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;initialization&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;VM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Could&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;reserve&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;enough&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;space&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;for&lt;/span&gt; 2097152&lt;span class=&quot;title&quot;&gt;KB&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;object&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;heap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;* &lt;span class=&quot;title&quot;&gt;Try&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Run&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;with&lt;/span&gt; --&lt;span class=&quot;title&quot;&gt;stacktrace&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;option&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;stack&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;trace&lt;/span&gt;. &lt;span class=&quot;title&quot;&gt;Run&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;with&lt;/span&gt; --&lt;span class=&quot;title&quot;&gt;info&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;or&lt;/span&gt; --&lt;span class=&quot;title&quot;&gt;debug&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;option&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;more&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;output&lt;/span&gt;. &lt;span class=&quot;title&quot;&gt;Run&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;with&lt;/span&gt; --&lt;span class=&quot;title&quot;&gt;scan&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;full&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;insights&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;* &lt;span class=&quot;title&quot;&gt;Get&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;more&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;help&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;at&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;https&lt;/span&gt;://&lt;span class=&quot;title&quot;&gt;help.gradle.org&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;title&quot;&gt;Command&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;failed&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;code&lt;/span&gt; 1: &lt;span class=&quot;title&quot;&gt;D&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Levana.Xue&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;develop&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;tool&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;android&lt;/span&gt;-&lt;span class=&quot;title&quot;&gt;gradle&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;gradle&lt;/span&gt;-6.6.1\&lt;span class=&quot;title&quot;&gt;bin&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;gradle.BAT&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;D&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Levana2&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;MyApp&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;platforms&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;android&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;wrapper&lt;/span&gt; -&lt;span class=&quot;title&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;D&lt;/span&gt;:\&lt;span class=&quot;title&quot;&gt;Levana2&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;MyApp&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;platforms&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;android&lt;/span&gt;\&lt;span class=&quot;title&quot;&gt;wrapper.gradle&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h4 id=&quot;原因&quot;&gt;&lt;a href=&quot;#原因&quot; class=&quot;headerlink&quot; title=&quot;原因&quot;&gt;&lt;/a&gt;原因&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;由于内存不够导致&lt;/p&gt;&lt;/blockquote&gt;&lt;h4 id=&quot;解决方案&quot;&gt;&lt;a href=&quot;#解决方案&quot; class=&quot;headerlink&quot; title=&quot;解决方案&quot;&gt;&lt;/a&gt;解决方案&lt;/h4&gt;&lt;p&gt;Your system can not provide enough continuous memory space for the jvm and causes the problem.&lt;/p&gt;&lt;p&gt;Here is what works for me:&lt;/p&gt;&lt;p&gt;Add an environment variable GRADLE_OPTS with the value of -Dorg.gradle.jvmargs=-Xmx512m&lt;/p&gt;&lt;p&gt;You can use -Xmx1g if you have more memory space available.&lt;/p&gt;&lt;p&gt;link:&lt;a href=&quot;https://stackoverflow.com/questions/30384375/vm-error-while-build-cordova-phonegap&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/30384375/vm-error-while-build-cordova-phonegap&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Cordova" scheme="https://levanax.github.io/categories/Levan-update/Cordova/"/>
    
    
      <category term="Cordova Bug" scheme="https://levanax.github.io/tags/Cordova-Bug/"/>
    
  </entry>
  
  <entry>
    <title>Git 笔记</title>
    <link href="https://levanax.github.io/2019/10/14/IDE/git-note/"/>
    <id>https://levanax.github.io/2019/10/14/IDE/git-note/</id>
    <published>2019-10-14T01:48:24.000Z</published>
    <updated>2020-06-24T00:48:22.901Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;&lt;a href=&quot;https://git-scm.com/downloads/guis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Git Gui dowload&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;问题&quot;&gt;&lt;a href=&quot;#问题&quot; class=&quot;headerlink&quot; title=&quot;问题&quot;&gt;&lt;/a&gt;问题&lt;/h2&gt;&lt;hr&gt;&lt;h3 id=&quot;安装git-desktop后，在cmd-使用git-命令，提示不是一个命令&quot;&gt;&lt;a href=&quot;#安装git-desktop后，在cmd-使用git-命令，提示不是一个命令&quot; class=&quot;headerlink&quot; title=&quot;安装git desktop后，在cmd 使用git 命令，提示不是一个命令&quot;&gt;&lt;/a&gt;安装git desktop后，在cmd 使用git 命令，提示不是一个命令&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;在 C:\Users\[username]\AppData\Local\GitHubDesktop\app-2.2.1\resources\app\git\cmd&lt;br&gt;*注意username 是win系统登入名称(Win10)&lt;br&gt;找到以上path, 添加至系统环境变量&lt;/p&gt;&lt;/blockquote&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="开发工具" scheme="https://levanax.github.io/categories/Levan-update/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="Git Note" scheme="https://levanax.github.io/tags/Git-Note/"/>
    
  </entry>
  
  <entry>
    <title>Sentry note</title>
    <link href="https://levanax.github.io/2019/10/09/system-runing-exception-manager/sentry-note/"/>
    <id>https://levanax.github.io/2019/10/09/system-runing-exception-manager/sentry-note/</id>
    <published>2019-10-09T05:58:09.000Z</published>
    <updated>2020-01-02T02:35:15.343Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;指南&quot;&gt;&lt;a href=&quot;#指南&quot; class=&quot;headerlink&quot; title=&quot;指南&quot;&gt;&lt;/a&gt;指南&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://docs.sentry.io/server/installation/docker/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sentry安装指南&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;Sentry-教程&quot;&gt;&lt;a href=&quot;#Sentry-教程&quot; class=&quot;headerlink&quot; title=&quot;Sentry 教程&quot;&gt;&lt;/a&gt;Sentry 教程&lt;/h2&gt;&lt;p&gt;参考资料：&lt;br&gt;&lt;a href=&quot;https://juejin.im/post/5b55c33ae51d45198f5c7a91&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sentry 安装部署教程&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://juejin.im/post/5cc2b8b9e51d456e40377319&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sentry vue 结合使用教程&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="System Runing Exception Manager" scheme="https://levanax.github.io/categories/Levan-update/System-Runing-Exception-Manager/"/>
    
    
      <category term="Sentry" scheme="https://levanax.github.io/tags/Sentry/"/>
    
  </entry>
  
  <entry>
    <title>Linux 安装以及使用</title>
    <link href="https://levanax.github.io/2019/10/08/linux/linux-install-usage/"/>
    <id>https://levanax.github.io/2019/10/08/linux/linux-install-usage/</id>
    <published>2019-10-08T10:43:15.000Z</published>
    <updated>2019-12-09T11:22:24.566Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;下载-Linux系统&quot;&gt;&lt;a href=&quot;#下载-Linux系统&quot; class=&quot;headerlink&quot; title=&quot;下载 Linux系统&quot;&gt;&lt;/a&gt;下载 Linux系统&lt;/h2&gt;&lt;p&gt;下载请点击：&lt;a href=&quot;https://www.linux.org/pages/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;这里&lt;/a&gt;&lt;/p&gt;&lt;p&gt;由于 Linux系统版本较多，我选择的是 &lt;a href=&quot;https://ubuntu.com/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ubuntu&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;说明&quot;&gt;&lt;a href=&quot;#说明&quot; class=&quot;headerlink&quot; title=&quot;说明&quot;&gt;&lt;/a&gt;说明&lt;/h2&gt;&lt;p&gt;阿里云镜像 &lt;a href=&quot;https://opsx.alibaba.com/mirror&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://opsx.alibaba.com/mirror&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h3 id=&quot;root-账号&quot;&gt;&lt;a href=&quot;#root-账号&quot; class=&quot;headerlink&quot; title=&quot;root 账号&quot;&gt;&lt;/a&gt;root 账号&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;新安装的 linux ubuntu 系统是没有root密码的，需要设定后使用&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img src=&quot;/assets/linux/linux-sudo-root-password-cmd.png&quot; alt=&quot;eg img&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;$sudo passwd root&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;hr&gt;&lt;h3 id=&quot;文件夹-文件权限修改&quot;&gt;&lt;a href=&quot;#文件夹-文件权限修改&quot; class=&quot;headerlink&quot; title=&quot;文件夹/文件权限修改&quot;&gt;&lt;/a&gt;文件夹/文件权限修改&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/bmbm546/article/details/6875972&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;参考&lt;/a&gt;&lt;/p&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;#把文件夹改为可读写&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;chmod -R &lt;span class=&quot;number&quot;&gt;777&lt;/span&gt; [dirName]&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;hr&gt;&lt;h3 id=&quot;IP查看&quot;&gt;&lt;a href=&quot;#IP查看&quot; class=&quot;headerlink&quot; title=&quot;IP查看&quot;&gt;&lt;/a&gt;IP查看&lt;/h3&gt;&lt;figure class=&quot;highlight cmd&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;//如果未安装需要安装&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;$ifconfig&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;hr&gt;&lt;h3 id=&quot;命令行符号-“-”&quot;&gt;&lt;a href=&quot;#命令行符号-“-”&quot; class=&quot;headerlink&quot; title=&quot;命令行符号 “\”&quot;&gt;&lt;/a&gt;命令行符号 “\”&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;/assets/linux/linux-cmd-desc1.png&quot; alt=&quot;linux-cmd-desc1.png&quot;&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;以”&amp;quot;结尾 （如上图）&lt;br&gt;该符号是告知命令窗口，该命令还没有输入完成，换行继续输入。常用于 cmd 命令过长时使用&lt;/p&gt;&lt;/blockquote&gt;&lt;hr&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Linux" scheme="https://levanax.github.io/categories/Levan-update/Linux/"/>
    
    
      <category term="Linux安装以及使用" scheme="https://levanax.github.io/tags/Linux%E5%AE%89%E8%A3%85%E4%BB%A5%E5%8F%8A%E4%BD%BF%E7%94%A8/"/>
    
  </entry>
  
  <entry>
    <title>vue 笔记</title>
    <link href="https://levanax.github.io/2019/09/25/javascript/vue-note/"/>
    <id>https://levanax.github.io/2019/09/25/javascript/vue-note/</id>
    <published>2019-09-25T07:25:21.000Z</published>
    <updated>2019-12-18T06:38:00.710Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;资源收集&quot;&gt;&lt;a href=&quot;#资源收集&quot; class=&quot;headerlink&quot; title=&quot;资源收集&quot;&gt;&lt;/a&gt;资源收集&lt;/h2&gt;&lt;p&gt;打包时用于引入CND的方案&lt;br&gt;&lt;a href=&quot;https://github.com/shirotech/webpack-cdn-plugin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;webpack-cdn-plugin&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;build时使用CDN遇到的问题1-config-plugin&quot;&gt;&lt;a href=&quot;#build时使用CDN遇到的问题1-config-plugin&quot; class=&quot;headerlink&quot; title=&quot;build时使用CDN遇到的问题1 - config.plugin&quot;&gt;&lt;/a&gt;build时使用CDN遇到的问题1 - config.plugin&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/staven630/vue-cli3-config&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/staven630/vue-cli3-config&lt;/a&gt;&lt;/p&gt;&lt;figure class=&quot;highlight javascript&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;config.plugin(&lt;span class=&quot;string&quot;&gt;&#39;html&#39;&lt;/span&gt;).tap(&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;params&quot;&gt;args&lt;/span&gt; =&amp;gt;&lt;/span&gt; &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  args[&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;].cdn = cdn&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; args&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#125;)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comment&quot;&gt;// 报错: args[0] 没有定义&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;由于使用vue pages配置，按照以上方式使用CDN时，build出错&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;vue inspect –plugins // 使用该命令查看 plugin list&lt;/p&gt;&lt;/blockquote&gt;&lt;figure class=&quot;highlight javascript&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;config.plugin(&lt;span class=&quot;string&quot;&gt;&#39;html-admin&#39;&lt;/span&gt;).tap(&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;params&quot;&gt;args&lt;/span&gt; =&amp;gt;&lt;/span&gt; &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  args[&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;].cdn = cdn&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;  &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; args&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#125;)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;使用以上代码替换即可解决，参考链接:&lt;a href=&quot;https://github.com/vuejs/vue-cli/issues/1729&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;click me&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
    
      <category term="VUE" scheme="https://levanax.github.io/tags/VUE/"/>
    
  </entry>
  
  <entry>
    <title>Java HmacSHA256加密</title>
    <link href="https://levanax.github.io/2019/09/17/java/java_hmac_sha256/"/>
    <id>https://levanax.github.io/2019/09/17/java/java_hmac_sha256/</id>
    <published>2019-09-17T06:12:33.000Z</published>
    <updated>2019-09-17T11:49:16.564Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;适用-Java-Android&quot;&gt;&lt;a href=&quot;#适用-Java-Android&quot; class=&quot;headerlink&quot; title=&quot;适用 Java / Android&quot;&gt;&lt;/a&gt;适用 Java / Android&lt;/h2&gt;&lt;figure class=&quot;highlight java&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;34&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt; javax.crypto.Mac;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt; javax.crypto.spec.SecretKeySpec;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;// https://stackoverflow.com/questions/9655181/how-to-convert-a-byte-array-to-a-hex-string-in-java&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;char&lt;/span&gt;[] HEX_ARRAY = &lt;span class=&quot;string&quot;&gt;&quot;0123456789ABCDEF&quot;&lt;/span&gt;.toCharArray();&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt; String &lt;span class=&quot;title&quot;&gt;bytesToHex&lt;/span&gt;&lt;span class=&quot;params&quot;&gt;(&lt;span class=&quot;keyword&quot;&gt;byte&lt;/span&gt;[] bytes)&lt;/span&gt; &lt;/span&gt;&amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;char&lt;/span&gt;[] hexChars = &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;char&lt;/span&gt;[bytes.length * &lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;];&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; j = &lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;; j &amp;lt; bytes.length; j++) &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            &lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; v = bytes[j] &amp;amp; &lt;span class=&quot;number&quot;&gt;0xFF&lt;/span&gt;;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            hexChars[j * &lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;] = HEX_ARRAY[v &amp;gt;&amp;gt;&amp;gt; &lt;span class=&quot;number&quot;&gt;4&lt;/span&gt;];&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            hexChars[j * &lt;span class=&quot;number&quot;&gt;2&lt;/span&gt; + &lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;] = HEX_ARRAY[v &amp;amp; &lt;span class=&quot;number&quot;&gt;0x0F&lt;/span&gt;];&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; String(hexChars);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;//https://stackoverflow.com/questions/7124735/hmac-sha256-algorithm-for-signature-calculation&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;private&lt;/span&gt; String &lt;span class=&quot;title&quot;&gt;HmacSHA256&lt;/span&gt;&lt;span class=&quot;params&quot;&gt;(String content, String salt)&lt;/span&gt;&lt;/span&gt;&amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        String result = &lt;span class=&quot;string&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt; &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            String secret = salt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            String message = content;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            Mac sha256_HMAC = Mac.getInstance(&lt;span class=&quot;string&quot;&gt;&quot;HmacSHA256&quot;&lt;/span&gt;);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            SecretKeySpec secret_key = &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; SecretKeySpec(secret.getBytes(&lt;span class=&quot;string&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;), &lt;span class=&quot;string&quot;&gt;&quot;HmacSHA256&quot;&lt;/span&gt;);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            sha256_HMAC.init(secret_key);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            &lt;span class=&quot;keyword&quot;&gt;byte&lt;/span&gt;[] temp = sha256_HMAC.doFinal(message.getBytes());&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            result = bytesToHex(temp);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;catch&lt;/span&gt; (Exception e)&amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;            System.out.println(&lt;span class=&quot;string&quot;&gt;&quot;Error&quot;&lt;/span&gt;);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; result;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Java" scheme="https://levanax.github.io/categories/Levan-update/Java/"/>
    
    
      <category term="Java HmacSHA256" scheme="https://levanax.github.io/tags/Java-HmacSHA256/"/>
    
  </entry>
  
  <entry>
    <title>Cordova Plugin</title>
    <link href="https://levanax.github.io/2019/09/16/cordova/cordova-plugin/"/>
    <id>https://levanax.github.io/2019/09/16/cordova/cordova-plugin/</id>
    <published>2019-09-16T07:46:22.000Z</published>
    <updated>2019-09-17T11:51:15.418Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;&lt;a href=&quot;https://juejin.im/post/5b3888bfe51d455885771005&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;参考资料&lt;/a&gt;&lt;/p&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Cordova" scheme="https://levanax.github.io/categories/Levan-update/Cordova/"/>
    
    
      <category term="Cordova Plugin" scheme="https://levanax.github.io/tags/Cordova-Plugin/"/>
    
  </entry>
  
  <entry>
    <title>Android apk 防止篡改</title>
    <link href="https://levanax.github.io/2019/09/12/android/android-security/"/>
    <id>https://levanax.github.io/2019/09/12/android/android-security/</id>
    <published>2019-09-12T02:46:55.000Z</published>
    <updated>2020-09-10T06:13:15.366Z</updated>
    
    <summary type="html">
    
      &lt;p&gt;背景：android版 app 被二次打包，功能可以正常使用，不法分子将恶意代码嵌入，导致数据不安全问题。&lt;/p&gt;&lt;p&gt;Cordova App 的主要源码为 assets文件夹 下HTML（资源文件）&lt;/p&gt;&lt;p&gt;所以我们需要的加密防止篡改只需要保护 和确认 assets文件夹未被修改过即可&lt;/p&gt;&lt;h2 id=&quot;assets-资源防篡改付费方案-2019-9-12&quot;&gt;&lt;a href=&quot;#assets-资源防篡改付费方案-2019-9-12&quot; class=&quot;headerlink&quot; title=&quot;assets 资源防篡改付费方案(2019-9-12)&quot;&gt;&lt;/a&gt;assets 资源防篡改付费方案(2019-9-12)&lt;/h2&gt;&lt;p&gt;腾讯乐固仅企业版支持,收费：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;APP个数&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;年&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;价格&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;1&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;8w&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;360加固,收费：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;APP个数&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;年&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;价格&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;1&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1.8w (*现在是5折)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Android" scheme="https://levanax.github.io/categories/Levan-update/Android/"/>
    
    
      <category term="Android Note" scheme="https://levanax.github.io/tags/Android-Note/"/>
    
  </entry>
  
  <entry>
    <title>Cordova 笔记</title>
    <link href="https://levanax.github.io/2019/09/10/cordova/cordova-note/"/>
    <id>https://levanax.github.io/2019/09/10/cordova/cordova-note/</id>
    <published>2019-09-10T02:44:48.000Z</published>
    <updated>2020-10-11T14:26:33.986Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;环境及配置&quot;&gt;&lt;a href=&quot;#环境及配置&quot; class=&quot;headerlink&quot; title=&quot;环境及配置&quot;&gt;&lt;/a&gt;环境及配置&lt;/h2&gt;&lt;h3 id=&quot;JDK-依赖&quot;&gt;&lt;a href=&quot;#JDK-依赖&quot; class=&quot;headerlink&quot; title=&quot;JDK 依赖&quot;&gt;&lt;/a&gt;JDK 依赖&lt;/h3&gt;&lt;p&gt;zulu jdk 下载: &lt;a href=&quot;https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&amp;amp;package=jdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&amp;amp;package=jdk&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;由于 oracle jdk 开始收费，我们已经开始使用 openjdk 或 zulujdk&lt;br&gt;使用 openjdk 遇到证书问题：the trustAnchors parameter must be non-empty&lt;br&gt;转用 zulu jdk 即解决&lt;/p&gt;&lt;/blockquote&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Cordova" scheme="https://levanax.github.io/categories/Levan-update/Cordova/"/>
    
    
      <category term="Cordova Error Note" scheme="https://levanax.github.io/tags/Cordova-Error-Note/"/>
    
  </entry>
  
  <entry>
    <title>web 密码加密传输</title>
    <link href="https://levanax.github.io/2019/08/16/java/java_Cipher_html_cryptoJs_AES/"/>
    <id>https://levanax.github.io/2019/08/16/java/java_Cipher_html_cryptoJs_AES/</id>
    <published>2019-08-16T06:53:28.000Z</published>
    <updated>2019-08-24T00:27:45.429Z</updated>
    
    <summary type="html">
    
      &lt;h2 id=&quot;html-javascript&quot;&gt;&lt;a href=&quot;#html-javascript&quot; class=&quot;headerlink&quot; title=&quot;html javascript&quot;&gt;&lt;/a&gt;html javascript&lt;/h2&gt;&lt;p&gt;引入：&lt;a href=&quot;https://github.com/brix/crypto-js&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/brix/crypto-js&lt;/a&gt;&lt;/p&gt;&lt;figure class=&quot;highlight javascript&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;19&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; key = CryptoJS.enc.Utf8.parse(&lt;span class=&quot;string&quot;&gt;&quot;aabbccddeeffgghh&quot;&lt;/span&gt;);  &lt;span class=&quot;comment&quot;&gt;//十六位十六进制数作为密钥&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; iv = CryptoJS.enc.Utf8.parse(&lt;span class=&quot;string&quot;&gt;&#39;aabbccddeeffgghh&#39;&lt;/span&gt;);   &lt;span class=&quot;comment&quot;&gt;//十六位十六进制数作为密钥偏移量&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comment&quot;&gt;//解密方法&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Decrypt&lt;/span&gt;(&lt;span class=&quot;params&quot;&gt;word&lt;/span&gt;) &lt;/span&gt;&amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; encryptedHexStr = CryptoJS.enc.Base64.parse(word);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; decrypt = CryptoJS.AES.decrypt(srcs, key, &amp;#123; &lt;span class=&quot;attr&quot;&gt;iv&lt;/span&gt;: iv, &lt;span class=&quot;attr&quot;&gt;mode&lt;/span&gt;: CryptoJS.mode.CBC, &lt;span class=&quot;attr&quot;&gt;padding&lt;/span&gt;: CryptoJS.pad.Pkcs7 &amp;#125;);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; decryptedStr.toString();&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comment&quot;&gt;//加密方法&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;function&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;title&quot;&gt;Encrypt&lt;/span&gt;(&lt;span class=&quot;params&quot;&gt;word&lt;/span&gt;) &lt;/span&gt;&amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; srcs = CryptoJS.enc.Utf8.parse(word);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; encrypted = CryptoJS.AES.encrypt(srcs, key, &amp;#123; &lt;span class=&quot;attr&quot;&gt;iv&lt;/span&gt;: iv, &lt;span class=&quot;attr&quot;&gt;mode&lt;/span&gt;: CryptoJS.mode.CBC, &lt;span class=&quot;attr&quot;&gt;padding&lt;/span&gt;: CryptoJS.pad.Pkcs7 &amp;#125;);&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;	&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt; result = encrypted.toString();&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; result;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Levan update" scheme="https://levanax.github.io/categories/Levan-update/"/>
    
      <category term="Web" scheme="https://levanax.github.io/categories/Levan-update/Web/"/>
    
    
      <category term="AES加密" scheme="https://levanax.github.io/tags/AES%E5%8A%A0%E5%AF%86/"/>
    
  </entry>
  
</feed>
