<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>代码 on 码农真经的博客</title>
    <link>https://blog.mzh.ren/zh/categories/%E4%BB%A3%E7%A0%81/</link>
    <description>Recent content in 代码 on 码农真经的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <managingEditor>mzhren1024@gmail.com (码农真经)</managingEditor>
    <webMaster>mzhren1024@gmail.com (码农真经)</webMaster>
    <copyright>&amp;copy;{year}, All Rights Reserved</copyright>
    <lastBuildDate>Tue, 15 Mar 2022 00:00:00 +0000</lastBuildDate>
    
        <atom:link href="https://blog.mzh.ren/zh/categories/%E4%BB%A3%E7%A0%81/index.xml" rel="self" type="application/rss+xml" />
    
    
    
      <item>
        <title>Node.js 逐行读取文件的 4 种方法</title>
        <link>https://blog.mzh.ren/zh/posts/2022/03/2022-03-15-nodejs-read-file-line-by-line/</link>
        <pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 15 Mar 2022 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2022/03/2022-03-15-nodejs-read-file-line-by-line/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;•原文：https://geshan.com.np/blog/2021/10/nodejs-read-file-line-by-line/&lt;/p&gt;
&lt;p&gt;•翻译：码农真经&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>linereader</category>
            
          
            
              <category>n-readlines</category>
            
          
            
              <category>node</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Javascript RORO 模式 ——编写更具可读性的函数</title>
        <link>https://blog.mzh.ren/zh/posts/2021/11/2021-11-26-javascript-roro-pattern/</link>
        <pubDate>Fri, 26 Nov 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 26 Nov 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/11/2021-11-26-javascript-roro-pattern/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;原文：https://www.tinyblog.dev/blog/2020-07-13-javascript-roro-pattern/&lt;/li&gt;
&lt;li&gt;翻译：码农真经&lt;/li&gt;
&lt;li&gt;内容：以有关键字参数kwargs代替无关键字参数args&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;代码的可读性是非常重要的。开发人员花了很多时间阅读代码：别人的代码，自己的代码，未见过的代码等。以尽可能可读的方式编写代码，可以帮助你的团队中的每个人节省大量的时间。可读性有时会增加性能负担，但二者之间，我们更倾向于保证代码可读性。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>js</category>
            
          
            
              <category>kwargs</category>
            
          
            
              <category>模式</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript巧用位操作符断奇偶</title>
        <link>https://blog.mzh.ren/zh/posts/2021/11/2021-11-16-check-if-a-number-is-odd-or-even-using-bitwise-operators/</link>
        <pubDate>Tue, 16 Nov 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 16 Nov 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/11/2021-11-16-check-if-a-number-is-odd-or-even-using-bitwise-operators/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;前两天翻译了一篇文章，如何找到数组里面的唯一数字 – 码农真经 ，发现按位运算可以做很多事，包括可以很便捷的判断数的奇偶。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;原文：https://www.geeksforgeeks.org/check-if-a-number-is-odd-or-even-using-bitwise-operators/&lt;/li&gt;
&lt;li&gt;翻译：码农真经&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;给定一个数 N，使用位运算符检查该数是偶数还是奇数。如：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>位操作符</category>
            
          
            
              <category>奇偶</category>
            
          
            
              <category>运算符优先级</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>技术写作新思路《JavaScript百炼成仙》学习修仙两不误</title>
        <link>https://blog.mzh.ren/zh/posts/2021/11/2021-11-16-javascript-hundred-refinements/</link>
        <pubDate>Tue, 16 Nov 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 16 Nov 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/11/2021-11-16-javascript-hundred-refinements/</guid>
        <description>&lt;p&gt;最近有本书《JavaScript 百炼成仙》，将JavaScript与修仙跨界融合，成功吸引了大家的注意。&lt;/p&gt;
&lt;p&gt;起先认为只是网文，没想到还是由清华大学出版社的正经出版物。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>js</category>
            
          
            
              <category>技术写作</category>
            
          
            
              <category>数学女孩</category>
            
          
            
              <category>苏菲的世界</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
            
              <category>思想</category>
            
          
        
        
      </item>
    
      <item>
        <title>如何找到数组里面的唯一数字</title>
        <link>https://blog.mzh.ren/zh/posts/2021/11/2021-11-08-how-to-find-a-unique-number-in-a-list-of-pairs/</link>
        <pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 08 Nov 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/11/2021-11-08-how-to-find-a-unique-number-in-a-list-of-pairs/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;https://yonatankra.com/how-to-find-a-unique-number-in-a-list-of-pairs/&#34;&gt;How to find a unique number in a list containing pairs? – Yonatan Kra&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译：码农真经&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在数组中找到唯一的数字，听起来很简单吧！&lt;/p&gt;
&lt;p&gt;一句话描述可能会产生误导，那我们就从一个具体的数组开始：&lt;/p&gt;
&lt;p&gt;[1,3,17,3,1]&lt;/p&gt;
&lt;p&gt;以上给出的数组，唯一出现一次的数字是17，其余的数字1，3都出现过两次。接下来，我们就以这个数组为用例来测试解决办法。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>数组</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript怎样查看变量所占内存的大小</title>
        <link>https://blog.mzh.ren/zh/posts/2021/11/2021-11-03-javascript-objects-size/</link>
        <pubDate>Wed, 03 Nov 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 03 Nov 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/11/2021-11-03-javascript-objects-size/</guid>
        <description>&lt;p&gt;在python中，可以使用 sys.getsizeof 方法可以查看 python 对象的内存占用（单位：字节 byte）。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/11/2021-11-03-javascript-objects-size/images/python-getsizeof2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;而JavaScript 不提供  C 系列语言中的sizeof方法，程序员不需要关心内存分配/释放。所以，该操作在js中相对比较麻烦。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>js</category>
            
          
            
              <category>sizeof</category>
            
          
            
              <category>内存</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>前端生成可下载文件详解</title>
        <link>https://blog.mzh.ren/zh/posts/2021/10/2021-10-21-front-end-generation-of-downloadable-files/</link>
        <pubDate>Thu, 21 Oct 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 21 Oct 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/10/2021-10-21-front-end-generation-of-downloadable-files/</guid>
        <description>&lt;p&gt;&lt;strong&gt;文章内容&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;原理
&lt;ul&gt;
&lt;li&gt;Blob对象&lt;/li&gt;
&lt;li&gt;MIME类型&lt;/li&gt;
&lt;li&gt;构建下载链接&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;生成文件示例
&lt;ul&gt;
&lt;li&gt;生成txt&lt;/li&gt;
&lt;li&gt;生成html&lt;/li&gt;
&lt;li&gt;生成css&lt;/li&gt;
&lt;li&gt;生成json&lt;/li&gt;
&lt;li&gt;生成csv/excel&lt;/li&gt;
&lt;li&gt;生成图&lt;/li&gt;
&lt;li&gt;生成pdf&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;一般而言，文件下载需要两个条件：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>blob</category>
            
          
            
              <category>mime</category>
            
          
            
              <category>download</category>
            
          
            
              <category>fe</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>如何在手机上访问本地网页？</title>
        <link>https://blog.mzh.ren/zh/posts/2021/10/2021-10-02-how-to-debug-local-web-pages-on-mobile-phones/</link>
        <pubDate>Sat, 02 Oct 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sat, 02 Oct 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/10/2021-10-02-how-to-debug-local-web-pages-on-mobile-phones/</guid>
        <description>&lt;p&gt;现在的框架提供非常好的工具链，周到全面。&lt;/p&gt;
&lt;p&gt;以react为例子，当你用create-react-app 创建一个react项目，通过yarn start启动后，会有如下提示：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>create-react-app</category>
            
          
            
              <category>host</category>
            
          
            
              <category>live-server</category>
            
          
            
              <category>vscode</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>Windows如何创建指定大小文件</title>
        <link>https://blog.mzh.ren/zh/posts/2021/09/2021-09-27-create-a-file-of-specific-size/</link>
        <pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 27 Sep 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/09/2021-09-27-create-a-file-of-specific-size/</guid>
        <description>&lt;p&gt;有时为了测试，需要创建一个特定大小的文件，比如测试文件上传。虽然你可以尝试使用记事本等应用程序仅创建文本文件，但当您需要一次创建一个大文件或多个文件时，就不是很方便了。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>fsutil</category>
            
          
            
              <category>powershell</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>最实用的电脑技巧之一：列出文件夹和子文件夹中的文件</title>
        <link>https://blog.mzh.ren/zh/posts/2021/05/2021-05-29-list-files-in-folders-and-subfolders/</link>
        <pubDate>Sat, 29 May 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sat, 29 May 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/05/2021-05-29-list-files-in-folders-and-subfolders/</guid>
        <description>&lt;p&gt;以前我不知道有 everything 和 listary 这样的本地文件检索神器，一直自建文件索引。&lt;/p&gt;
&lt;p&gt;自建方法就是，把我电脑资料夹中所有文件的路径及名称统统放在一个filelist.txt的文件里。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>dir</category>
            
          
            
              <category>get-childitem</category>
            
          
            
              <category>ls</category>
            
          
            
              <category>powershell</category>
            
          
            
              <category>技巧</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>正则表达式实用小案例</title>
        <link>https://blog.mzh.ren/zh/posts/2021/04/2021-04-19-a-practical-case-of-regular-expressions/</link>
        <pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 19 Apr 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/04/2021-04-19-a-practical-case-of-regular-expressions/</guid>
        <description>&lt;h3 id=&#34;01-移除标签不必要属性&#34;&gt;01 移除标签不必要属性&lt;/h3&gt;
&lt;p&gt;有时候从别的网页中拷贝到一些html结构，会带一些属性，而这些属性是不需要的，我们可以通过正则去掉。如：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;div id=&amp;#34;mk-tabs&amp;#34; class=&amp;#34;mk-tabs horizontal-style style1-tabs ui-tabs ui-widget ui-widget-content ui-corner-all&amp;#34;&amp;gt;&amp;lt;ul class=&amp;#34;mk-tabs-tabs ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all&amp;#34;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上面那些id,class都是不需要的，当然还有其它属性，可以通过以下方式替换。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>日期转换</category>
            
          
            
              <category>正则表达式</category>
            
          
            
              <category>重复行</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Markdown完全教程</title>
        <link>https://blog.mzh.ren/zh/posts/2021/04/2021-04-18-markdown-complete-tutorials/</link>
        <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 18 Apr 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/04/2021-04-18-markdown-complete-tutorials/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/04/2021-04-18-markdown-complete-tutorials/images/01039c9f7af742ff.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;最近在读《了不起的markdown》，对markdown有了进一步了解，总结Markdown重要的概念及相关工具链，以做备忘。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;01 Markdown是什么？&lt;/strong&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>commonmark</category>
            
          
            
              <category>gfm</category>
            
          
            
              <category>markdown</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>你心心念念的必应壁纸，可以一键打包下载了...</title>
        <link>https://blog.mzh.ren/zh/posts/2021/04/2021-04-08-bing-wallpaper-2012-2021-download/</link>
        <pubDate>Thu, 08 Apr 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 08 Apr 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/04/2021-04-08-bing-wallpaper-2012-2021-download/</guid>
        <description>&lt;p&gt;&lt;strong&gt;文章内容：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;必应壁纸简介&lt;/li&gt;
&lt;li&gt;一些 Bing 壁纸图片来源&lt;/li&gt;
&lt;li&gt;批量下载脚本&lt;/li&gt;
&lt;li&gt;必应壁纸大礼包（2009-2022.02年壁纸打包下载）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;必应壁纸简介&#34;&gt;必应壁纸简介&lt;/h3&gt;
&lt;p&gt;微软必应是全球第三大搜索引擎，也是我最常使用的的搜索引擎，因为老大用不了，老二不想用，只能用老三了。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>python</category>
            
          
            
              <category>download</category>
            
          
            
              <category>必应壁纸</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>简单脚本实现B站视频快捷键播放</title>
        <link>https://blog.mzh.ren/zh/posts/2021/03/2021-03-29-simple-script-to-make-bilibili-video-shortcut-key-play/</link>
        <pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 29 Mar 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/03/2021-03-29-simple-script-to-make-bilibili-video-shortcut-key-play/</guid>
        <description>&lt;p&gt;刷V2ex看到一个帖子：&lt;a href=&#34;https://www.v2ex.com/t/761325&#34;&gt;为什么国内视频网站快捷键极少或者没有？ - V2EX&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/03/2021-03-29-simple-script-to-make-bilibili-video-shortcut-key-play/images/wenti.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;深有同感！！！&lt;/p&gt;
&lt;p&gt;我经常看bilibili.com。大部分视频讲得很慢，经常需要倍数播放，有快捷键的话，会方便很多。&lt;/p&gt;
&lt;p&gt;上网找了下，已经有很多这样的快捷键脚本，如：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>bilibili</category>
            
          
            
              <category>可选链</category>
            
          
            
              <category>快捷键</category>
            
          
            
              <category>油猴</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 常用代码片段（一）</title>
        <link>https://blog.mzh.ren/zh/posts/2021/03/2021-03-17-javascript-code-snippets/</link>
        <pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 17 Mar 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/03/2021-03-17-javascript-code-snippets/</guid>
        <description>&lt;h3 id=&#34;01-hhmmss时间与秒数互转&#34;&gt;01. &amp;ldquo;HH:MM:SS&amp;quot;时间与秒数互转&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/03/2021-03-17-javascript-code-snippets/images/HH_MM_SS%E4%B8%8E%E7%A7%92%E6%95%B0%E4%BA%92%E8%BD%AC.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hmsToSeconds(&amp;#39;12:33:06&amp;#39;);
// 45186
secondsToHms(45186);
// &amp;#34;12:33:06&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/1322732/convert-seconds-to-hh-mm-ss-with-javascript&#34;&gt;date - Convert seconds to HH-MM-SS with JavaScript? - Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/9640266/convert-hhmmss-string-to-seconds-only-in-javascript&#34;&gt;time - Convert HH:MM:SS string to seconds only in javascript - Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;继续&amp;hellip;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>代码片段</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Vue.js强制重新渲染组件的正确方法</title>
        <link>https://blog.mzh.ren/zh/posts/2021/02/2021-02-24-the-correct-way-to-force-vue-to-re-render-a-component/</link>
        <pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 24 Feb 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/02/2021-02-24-the-correct-way-to-force-vue-to-re-render-a-component/</guid>
        <description>&lt;p&gt;在开发过程中，有时候会遇到这么一种情况，通过动态的赋值，但是dom没有及时更新，能够获取到动态赋的值，但是无法获取到双向绑定的dom节点，这就需要我们手动进行强制刷新组件。一般有这4种方法：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>vue</category>
            
          
            
              <category>组件</category>
            
          
            
              <category>重新渲染</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>vscode乱数假文生成器插件</title>
        <link>https://blog.mzh.ren/zh/posts/2021/01/2021-01-27-vscode-chinese-lorem-plugin/</link>
        <pubDate>Wed, 27 Jan 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 27 Jan 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/01/2021-01-27-vscode-chinese-lorem-plugin/</guid>
        <description>&lt;p&gt;我们在制作网页时，有时候需要一些文本来填充网页，这些文本不需要有明确含义，只是临时占位，被叫做“乱数假文”。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lorem ipsum，中文又称“乱数假文”， 是指一篇常用于排版设计领域的拉丁文文章 ，主要的目的为测试文章或文字在不同字型、版型下看起来的效果，通常网站还没建设好时会出现这段文字。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>lorem</category>
            
          
            
              <category>vscode</category>
            
          
            
              <category>插件</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>Vue.js添加全局过滤器的几种方法</title>
        <link>https://blog.mzh.ren/zh/posts/2021/01/2021-01-26-several-ways-to-add-global-filters-in-vue-js/</link>
        <pubDate>Tue, 26 Jan 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 26 Jan 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/01/2021-01-26-several-ways-to-add-global-filters-in-vue-js/</guid>
        <description>&lt;h3&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/01/2021-01-26-several-ways-to-add-global-filters-in-vue-js/images/vuejs-tutorial_2d2a853c-aa2f-44b0-80df-933b495f77f8.jpg&#34; alt=&#34;&#34;&gt;&lt;/h3&gt;
&lt;h3 id=&#34;过滤器基础知识&#34;&gt;&lt;strong&gt;过滤器基础知识&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Vue.js 允许你自定义过滤器，可被用于一些常见的文本格式化。过滤器可以用在两个地方：&lt;strong&gt;双花括号插值和 &lt;code&gt;v-bind&lt;/code&gt; 表达式。&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;!-- 在双花括号中 --&amp;gt;
{{ message | capitalize }}

&amp;lt;!-- 在 `v-bind` 中 --&amp;gt;
&amp;lt;div v-bind:id=&amp;#34;rawId | formatId&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;组件内创建过滤器，是在filters对象中添加一个方法，如下capitalize方法：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>filter</category>
            
          
            
              <category>mixin</category>
            
          
            
              <category>vue</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Javascript可选链和空值合并操作符简介</title>
        <link>https://blog.mzh.ren/zh/posts/2021/01/2021-01-14-javascript-optional-chain/</link>
        <pubDate>Thu, 14 Jan 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 14 Jan 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/01/2021-01-14-javascript-optional-chain/</guid>
        <description>&lt;p&gt;参考资料：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.javascript.info/optional-chaining&#34;&gt;可选链 &amp;ldquo;?.&amp;rdquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/%E5%8F%AF%E9%80%89%E9%93%BE&#34;&gt;可选链操作符 - JavaScript | MDN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator&#34;&gt;空值合并运算符 - JavaScript | MDN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.javascript.info/nullish-coalescing-operator&#34;&gt;空值合并运算符 &amp;lsquo;??&amp;rsquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.csdn.net/weixin_30768175/article/details/100090953&#34;&gt;JS 新语法「可选链」「双问号」已进入 Stage 3_weixin_30768175的博客-CSDN博客&lt;/a&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>可选链</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript对象toJSON方法详解</title>
        <link>https://blog.mzh.ren/zh/posts/2021/01/2021-01-06-what-is-the-tojson-function-in-js/</link>
        <pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 06 Jan 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/01/2021-01-06-what-is-the-tojson-function-in-js/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;原文：&lt;a href=&#34;http://thecodebarbarian.com/what-is-the-tojson-function-in-javascript.html&#34;&gt;What is the `toJSON()` Function in JavaScript? | www.thecodebarbarian.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;翻译：码农真经&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;在JavaScript中，JSON.stringify()方法用于将 JavaScript 对象或值转换为 JSON 字符串。如果对象有toJSON方法，JSON.stringify 就会调用对象的toJSON方法，以toJSON方法返回的值为序列化值 。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>es6</category>
            
          
            
              <category>json</category>
            
          
            
              <category>tojson</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>Vue.js 常见面试题【基础类】</title>
        <link>https://blog.mzh.ren/zh/posts/2021/01/2021-01-06-vue-js-common-interview-questions/</link>
        <pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 06 Jan 2021 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2021/01/2021-01-06-vue-js-common-interview-questions/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2021/01/2021-01-06-vue-js-common-interview-questions/images/bg2020123003.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;某培训机构的总结的vue.js的常见面试问题，分为基础类和扩展类。&lt;/p&gt;
&lt;p&gt;刚好最近也在学习vue.js框架，就查阅了官方文档，简单回答如下：&lt;/p&gt;
&lt;p&gt;[基础类问题]&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>v-if</category>
            
          
            
              <category>v-show</category>
            
          
            
              <category>vue</category>
            
          
            
              <category>interview</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>面试</category>
            
          
        
        
      </item>
    
      <item>
        <title>git 如何查看某个文件历史记录（谁、什么时间添加修改）</title>
        <link>https://blog.mzh.ren/zh/posts/2020/12/2020-12-14-git-how-to-check-when-and-who-added-a-file/</link>
        <pubDate>Mon, 14 Dec 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 14 Dec 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/12/2020-12-14-git-how-to-check-when-and-who-added-a-file/</guid>
        <description>&lt;p&gt;有一个合作开发项目（git仓库），突然发现多了一个名为Untitled-1.html文件，一看就知道是无用文件。心想，谁这么不小心。&lt;/p&gt;
&lt;p&gt;想知道谁、什么时间添加的的某个文件，有以下几个方法：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>git</category>
            
          
            
              <category>日志</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>linux/unix 查找并删除特定文件</title>
        <link>https://blog.mzh.ren/zh/posts/2020/10/2020-10-29-linux-unix-how-to-find-and-remove-files/</link>
        <pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 29 Oct 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/10/2020-10-29-linux-unix-how-to-find-and-remove-files/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/10/2020-10-29-linux-unix-how-to-find-and-remove-files/images/find-commands.jpg&#34; alt=&#34;&#34;&gt; 前一段总结了linux/unix下的find命令，&lt;a href=&#34;http://www.mzh.ren/linux-mac-find-detail.html&#34;&gt;Linux/Mac find 命令详解 – 码农真经&lt;/a&gt;。事实上，查找功能是操作系统最基础、最常用的功能。&lt;/p&gt;
&lt;p&gt;linux下命令行式的查找功能特别方便，而windows下相对麻烦一些（当然，也有可能是我对windows下的命令行不太熟悉）。好在win10可以安装linux子系统（WSL，Windows subsystem For Linux），所以现在windows也可以做linux上一样的操作。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>delete</category>
            
          
            
              <category>find</category>
            
          
            
              <category>linux</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript一行代码get到农历日期</title>
        <link>https://blog.mzh.ren/zh/posts/2020/09/2020-09-15-javascript-1-line-get-lunar-date/</link>
        <pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 15 Sep 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/09/2020-09-15-javascript-1-line-get-lunar-date/</guid>
        <description>&lt;p&gt;javascript一行代码获取农历日期：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;new Date().toLocaleString(&amp;#39;ja-JP-u-ca-chinese&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/09/2020-09-15-javascript-1-line-get-lunar-date/images/js_date.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;toLocaleString() 方法返回该日期对象的字符串，该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则，允许定制该方法的表现（behavior）。在旧版本浏览器中， locales 和 options 参数被忽略，使用的语言环境(浏览器环境)和返回的字符串格式是各自独立实现的。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>date</category>
            
          
            
              <category>i18n</category>
            
          
            
              <category>javascript</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Python按字段值分割excel</title>
        <link>https://blog.mzh.ren/zh/posts/2020/09/2020-09-08-python-split-excel-by-field-value/</link>
        <pubDate>Tue, 08 Sep 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 08 Sep 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/09/2020-09-08-python-split-excel-by-field-value/</guid>
        <description>&lt;p&gt;很早前记录了&lt;a href=&#34;http://www.mzh.ren/excel-file-combined-by-pandas.html&#34;&gt;[Python]通过pandas合并多个excel – 码农真经&lt;/a&gt; 的过程，今天记录一下按字段值分组分割excel到不同的excel文件。&lt;/p&gt;
&lt;p&gt;主要5个步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;引入pandas库&lt;/li&gt;
&lt;li&gt;读取excel数据&lt;/li&gt;
&lt;li&gt;将数据按列分组（根据不同的字段值分组）&lt;/li&gt;
&lt;li&gt;遍历分组数据&lt;/li&gt;
&lt;li&gt;写入excel&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;代码如下： &lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/09/2020-09-08-python-split-excel-by-field-value/images/pandas_groupby_split.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>excel</category>
            
          
            
              <category>pandas</category>
            
          
            
              <category>python</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>你可能不知道的vscode技巧</title>
        <link>https://blog.mzh.ren/zh/posts/2020/08/2020-08-18-vscode-tricks-you-may-not-know/</link>
        <pubDate>Tue, 18 Aug 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 18 Aug 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/08/2020-08-18-vscode-tricks-you-may-not-know/</guid>
        <description>&lt;p&gt;一直使用vscode，自认为熟练使用。读《&lt;a href=&#34;https://weread.qq.com/web/reader/7bc32db071f02f257bc2a8ak182326e0221182be0c5ca23&#34;&gt;Visual Studio Code 权威指南-韩骏-微信读书&lt;/a&gt;》是为了查漏补缺，读完发现缺的东西太多了，记录一下我以为我知道，其实不知道的vscode使用技巧。也推荐你读读这本书，微信读书上免费读，真好。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>vscode</category>
            
          
            
              <category>文件查找</category>
            
          
            
              <category>行排序</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>图解算法之bogo排序</title>
        <link>https://blog.mzh.ren/zh/posts/2020/08/2020-08-17-bogo-sort/</link>
        <pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 17 Aug 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/08/2020-08-17-bogo-sort/</guid>
        <description>&lt;p&gt;Bogo 排序(Bogo Sort)也被称为“愚蠢的排序”，是一种非常简单但低效的排序算法，就是不断打乱元素的顺序，直到达到有序为止。又称为猴子排序(Monkey Sort)，就像是请猴子帮忙排序一样。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>bogo</category>
            
          
            
              <category>排序</category>
            
          
            
              <category>猴子排序</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>暴力破解一个8位密码需要多长时间？</title>
        <link>https://blog.mzh.ren/zh/posts/2020/08/2020-08-16-how-long-does-it-take-to-brute-force-an-8-char-password/</link>
        <pubDate>Sun, 16 Aug 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 16 Aug 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/08/2020-08-16-how-long-does-it-take-to-brute-force-an-8-char-password/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/08/2020-08-16-how-long-does-it-take-to-brute-force-an-8-char-password/images/brute-force-attack-1024x341.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;暴力破解（英语：Brute-force attack），简称暴破，又称为穷举攻击（英语：Exhaustive attack），是一种密码分析的方法，即将密码进行逐个推算直到找出真正的密码为止。例如：一个已知是四位数并且全部由阿拉伯数字组成的密码，其可能共有10000种组合，因此最多尝试9999次就能找到正确的密码。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>密码</category>
            
          
            
              <category>破解</category>
            
          
            
              <category>穷举法</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>react cli 常见错误</title>
        <link>https://blog.mzh.ren/zh/posts/2020/08/2020-08-12-react-cli-error/</link>
        <pubDate>Wed, 12 Aug 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 12 Aug 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/08/2020-08-12-react-cli-error/</guid>
        <description>&lt;h3 id=&#34;错误-1react-scripts-不是内部或外部命令&#34;&gt;错误 1. &amp;lsquo;react-scripts&amp;rsquo; 不是内部或外部命令&lt;/h3&gt;
&lt;p&gt;问题详情：‘react-scripts’ 不是内部或外部命令，也不是可运行的程序 或批处理文件。&lt;/p&gt;
&lt;p&gt;解决办法:&lt;/p&gt;
&lt;p&gt;重新安装 react-scripts&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;yarn add react-scripts
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;cao，重装真TMD的够慢的。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>error</category>
            
          
            
              <category>react</category>
            
          
            
              <category>yarn</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 模式匹配初探</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-31-javascript-pattern-matching/</link>
        <pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 31 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-31-javascript-pattern-matching/</guid>
        <description>&lt;h3&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-31-javascript-pattern-matching/images/javascript-pattern-matching.png&#34; alt=&#34;&#34;&gt;&lt;/h3&gt;
&lt;h3 id=&#34;什么是模式匹配&#34;&gt;什么是模式匹配&lt;/h3&gt;
&lt;p&gt;模式匹配（pattern matching ）被一众函数式语言（Rust, F#, Scala,Elixir,Erlang）广泛采用。&lt;/p&gt;
&lt;p&gt;模式匹配是一种“分发机制”，泛指各语言中用作&amp;quot;动态地选择行为&amp;quot;的特性。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>pattern-matching</category>
            
          
            
              <category>rust</category>
            
          
            
              <category>模式匹配</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>写给javascript程序员的rust教程（四）模式匹配和枚举【译】</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-23-rust-for-javascript-developers-pattern-matching-and-enums/</link>
        <pubDate>Thu, 23 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 23 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-23-rust-for-javascript-developers-pattern-matching-and-enums/</guid>
        <description>&lt;p&gt;这是写给javascript程序员的rust教程系列文章的第四部分，模式匹配和枚举。前三部分请戳：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/rust-for-javascript-developers-tooling-ecosystem-overview.html&#34;&gt;写给javascript程序员的rust教程（一）工具链概述【译】 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/rust-for-javascript-developers-variables-and-data-types.html&#34;&gt;写给javascript程序员的rust教程（二）变量与数据类型【译】 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/rust-for-javascript-developers-functions-and-control-flow.html&#34;&gt;写给javascript程序员的rust教程（三）函数与流程控制【译】 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-23-rust-for-javascript-developers-pattern-matching-and-enums/images/from-js-to-rust-1024x568.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;模式匹配&#34;&gt;模式匹配&lt;/h3&gt;
&lt;p&gt;要了解模式匹配，让我们从JavaScript中熟悉的内容-Switch Case开始。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>rust</category>
            
          
            
              <category>枚举</category>
            
          
            
              <category>模式匹配</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>ffmpeg 从flv视频中的提取音频</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-21-ffmpeg-extract-mp3-from-flv/</link>
        <pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 21 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-21-ffmpeg-extract-mp3-from-flv/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-21-ffmpeg-extract-mp3-from-flv/images/ffmpeg-logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;ffmpeg内置的音频解码器为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;libfdk-aac&lt;/li&gt;
&lt;li&gt;aac&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下操作为从input.mp4文件提取音频为output.mp3：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -i input.mp4  -vn -c:a copy output.mp3
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;其中&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-vn&lt;/code&gt; :移除视频&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c:a&lt;/code&gt;：指定音频编码器&lt;/li&gt;
&lt;li&gt;&lt;code&gt;copy&lt;/code&gt;：直接复制，不经过重新编码&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今天，我从 bilibili.com 下载了一个input.flv的视频，根据以上命令修改：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>ffmpeg</category>
            
          
            
              <category>flv</category>
            
          
            
              <category>音频</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>写给javascript程序员的rust教程（三）函数与流程控制【译】</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-20-rust-for-javascript-developers-functions-and-control-flow/</link>
        <pubDate>Mon, 20 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 20 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-20-rust-for-javascript-developers-functions-and-control-flow/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;原文：&lt;a href=&#34;http://www.sheshbabu.com/posts/rust-for-javascript-developers-functions-and-control-flow/&#34;&gt;Rust for JavaScript Developers - Functions and Control Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;翻译：码农真经 &lt;a href=&#34;http://www.mzh.ren/&#34;&gt;http://www.mzh.ren/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;这是写给javascript程序员的rust教程系列文章的第三部分，函数与流程控制。前两部分请戳：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/rust-for-javascript-developers-tooling-ecosystem-overview.html&#34;&gt;写给javascript程序员的rust教程（一）工具链概述【译】 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/rust-for-javascript-developers-variables-and-data-types.html&#34;&gt;写给javascript程序员的rust教程（二）变量与数据类型【译】 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-20-rust-for-javascript-developers-functions-and-control-flow/images/from-js-to-rust-1024x568.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>function</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>loops</category>
            
          
            
              <category>rust</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 字符串反转乱码问题解决</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-javascript-unicode-issue/</link>
        <pubDate>Sun, 19 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 19 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-javascript-unicode-issue/</guid>
        <description>&lt;h3 id=&#34;javascript-字符串反转乱码&#34;&gt;JavaScript 字符串反转乱码&lt;/h3&gt;
&lt;p&gt;前一段写了篇文章：&lt;a href=&#34;http://www.mzh.ren/eight-ways-to-reverse-a-string-in-javascript.html&#34;&gt;JavaScript 8种字符串反转的方法 – 码农真经&lt;/a&gt;，介绍了js中反转字符串的几个方法，但有些字符串或有些方法无法达到预期结果，如：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>nfc</category>
            
          
            
              <category>ucs2</category>
            
          
            
              <category>utf16</category>
            
          
            
              <category>字符串</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Unicode与JavaScript详解</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-unicode-in-js/</link>
        <pubDate>Sun, 19 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 19 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-unicode-in-js/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-unicode-in-js/images/bg2014121121-1.png&#34; alt=&#34;&#34;&gt;作者：&lt;a href=&#34;http://www.ruanyifeng.com/blog/&#34;&gt;阮一峰&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文链接：&lt;a href=&#34;https://www.ruanyifeng.com/blog/2014/12/unicode.html&#34;&gt;Unicode与JavaScript详解&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;上个月，我做了一次分享，详细介绍了Unicode字符集，以及JavaScript语言对它的支持。下面就是这次分享的讲稿。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-unicode-in-js/images/bg2014121102.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;一unicode是什么&#34;&gt;一、Unicode是什么？&lt;/h2&gt;
&lt;p&gt;Unicode源于一个很简单的想法：将全世界所有的字符包含在一个集合里，计算机只要支持这一个字符集，就能显示所有的字符，再也不会有乱码了。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>ucs2</category>
            
          
            
              <category>unicode</category>
            
          
            
              <category>utf16</category>
            
          
            
              <category>utf32</category>
            
          
            
              <category>utf8</category>
            
          
            
              <category>ruanyifeng</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>写给javascript程序员的rust教程（一）工具链概述【译】</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-rust-for-javascript-developers-tooling-ecosystem-overview/</link>
        <pubDate>Sun, 19 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 19 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-rust-for-javascript-developers-tooling-ecosystem-overview/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;http://www.sheshbabu.com/posts/rust-for-javascript-developers-tooling-ecosystem-overview/&#34;&gt;Rust for JavaScript Developers - Tooling Ecosystem Overview&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-19-rust-for-javascript-developers-tooling-ecosystem-overview/images/from-js-to-rust-1024x568.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这是关于向JavaScript开发者介绍Rust语言的系列中的第一部分。&lt;/p&gt;
&lt;p&gt;我发现如果用已经知道的东西来解释新的东西，会更容易理解。我想可能会有其他人和我一样 :)&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>rust</category>
            
          
            
              <category>rustup</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>函数式编程入门教程</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-15-fp-tutorial/</link>
        <pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 15 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-15-fp-tutorial/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;作者：&lt;a href=&#34;http://www.ruanyifeng.com/blog/&#34;&gt;阮一峰&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文链接：&lt;a href=&#34;https://www.ruanyifeng.com/blog/2017/02/fp-tutorial.html&#34;&gt;函数式编程入门教程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;你可能听说过函数式编程（Functional programming），甚至已经使用了一段时间。&lt;/p&gt;
&lt;p&gt;但是，你能说清楚，它到底是什么吗？&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>函数式</category>
            
          
            
              <category>教程</category>
            
          
            
              <category>ruanyifeng</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>自从有了Rust，Java就不香了</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-15-why-one-should-switch-to-rust-from-java-programming-language/</link>
        <pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 15 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-15-why-one-should-switch-to-rust-from-java-programming-language/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;Rust 是软件行业中相对而言比较新的一门编程语言，如果从语法上来比较，该语言与 C++ 其实非常类似，但从另一方面而言，Rust 能更高效地提供许多功能来保证性能和安全。而且，Rust 还能在无需使用传统的垃圾收集系统的情况下保证内存的安全性。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>java</category>
            
          
            
              <category>rust</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Linux/Mac find 命令详解</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-09-linux-mac-find-detail/</link>
        <pubDate>Thu, 09 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 09 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-09-linux-mac-find-detail/</guid>
        <description>&lt;h3&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/07/2020-07-09-linux-mac-find-detail/images/find-commands.jpg&#34; alt=&#34;&#34;&gt;&lt;/h3&gt;
&lt;p&gt;Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用，您可以通过权限，用户，组，文件类型，日期，大小等可能的条件查找文件。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>find</category>
            
          
            
              <category>linux</category>
            
          
            
              <category>mac</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>MVC，MVP 和 MVVM 的图示</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-08-mvcmvp_mvvm/</link>
        <pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 08 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-08-mvcmvp_mvvm/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;作者：&lt;a href=&#34;http://www.ruanyifeng.com/blog/&#34;&gt;阮一峰&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文链接：&lt;a href=&#34;https://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html&#34;&gt;MVC，MVP 和 MVVM 的图示&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;复杂的软件必须有清晰合理的架构，否则无法开发和维护。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://zh.wikipedia.org/wiki/MVC&#34;&gt;MVC&lt;/a&gt;（Model-View-Controller）是最常见的软件架构之一，业界有着广泛应用。它本身&lt;a href=&#34;http://www.ruanyifeng.com/blog/2007/11/mvc.html&#34;&gt;很容易理解&lt;/a&gt;，但是要讲清楚，它与衍生的 MVP 和 MVVM 架构的区别就不容易了。&lt;/p&gt;
&lt;p&gt;昨天晚上，我读了&lt;a href=&#34;http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/&#34;&gt;《Scaling Isomorphic Javascript Code》&lt;/a&gt;，突然意识到，它们的区别非常简单。我用几段话，就可以说清。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>mvc</category>
            
          
            
              <category>mvp</category>
            
          
            
              <category>mvvm</category>
            
          
            
              <category>ruanyifeng</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>info</category>
            
          
        
        
      </item>
    
      <item>
        <title>你可能不需要jQuery</title>
        <link>https://blog.mzh.ren/zh/posts/2020/07/2020-07-08-you-dont-need-jquery/</link>
        <pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 08 Jul 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/07/2020-07-08-you-dont-need-jquery/</guid>
        <description>&lt;p&gt;前端发展很快，现代浏览器原生 API 已经足够好用。我们并不需要为了操作 DOM、Event 等再学习一下 jQuery 的 API。同时由于 React、Angular、Vue 等框架的流行，直接操作 DOM 不再是好的模式，jQuery 使用场景大大减少。本项目总结了大部分 jQuery API 替代的方法，暂时只支持 IE10 以上浏览器。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>avr</category>
            
          
            
              <category>dom</category>
            
          
            
              <category>jquery</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>为什么0.1&#43;0.2不等于0.3</title>
        <link>https://blog.mzh.ren/zh/posts/2020/06/2020-06-23-why-0-10-2-is-not-equal-to-0-3/</link>
        <pubDate>Tue, 23 Jun 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 23 Jun 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/06/2020-06-23-why-0-10-2-is-not-equal-to-0-3/</guid>
        <description>&lt;p&gt;参考资料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/30703042&#34;&gt;抓住数据的小尾巴 - JS浮点数陷阱及解法 - 知乎&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://juejin.im/post/5b90e00e6fb9a05cf9080dff&#34;&gt;0.1 + 0.2不等于0.3？为什么JavaScript有这种“骚”操作？ - 掘金&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://segmentfault.com/a/1190000000407658&#34;&gt;图解：JavaScript中Number的一些表示上/下限 - 整理强迫症患者的一生 - SegmentFault 思否&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mzh.ren/ieee_floating-point_representation.html&#34;&gt;浮点数的二进制表示 – 码农真经&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/camsong/blog/issues/9&#34;&gt;JavaScript 浮点数陷阱及解法 · Issue #9 · camsong/blog · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://yanhaijing.com/javascript/2014/03/14/what-every-javascript-developer-should-know-about-floating-points/&#34;&gt;每一个JavaScript开发者应该了解的浮点知识&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.h-schmidt.net/FloatConverter/IEEE754.html&#34;&gt;IEEE-754浮点转换器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://alvarto.github.io/VisualNumeric64/#5.1&#34;&gt;Expression2memoryModel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://segmentfault.com/a/1190000012175422&#34;&gt;为什么0.1+0.2不等于0.3 - 个人文章 - SegmentFault 思否&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>ieee-754</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>浮点数</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>info</category>
            
          
        
        
      </item>
    
      <item>
        <title>FFmpeg 常用操作</title>
        <link>https://blog.mzh.ren/zh/posts/2020/06/2020-06-16-ffmpeg-common-operations/</link>
        <pubDate>Tue, 16 Jun 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 16 Jun 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/06/2020-06-16-ffmpeg-common-operations/</guid>
        <description>&lt;p&gt;FFmpeg 入门简介：&lt;a href=&#34;http://www.mzh.ren/ffmpeg.html&#34;&gt;FFmpeg 视频处理入门教程 – 码农真经&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FFmpeg 常用的命令行参数如下。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-c&lt;/code&gt;：指定编码器&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c copy&lt;/code&gt;：直接复制，不经过重新编码（这样比较快）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c:v&lt;/code&gt;：指定视频编码器&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c:a&lt;/code&gt;：指定音频编码器&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-i&lt;/code&gt;：指定输入文件&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-an&lt;/code&gt;：去除音频流&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-vn&lt;/code&gt;： 去除视频流&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-preset&lt;/code&gt;：指定输出的视频质量，会影响文件的生成速度，有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-y&lt;/code&gt;：不经过确认，输出时直接覆盖同名文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;控制输出文件大小&#34;&gt;控制输出文件大小&lt;/h3&gt;
&lt;p&gt;-fs (file size首字母缩写)，以下将视频大小限制在200M以内。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>ffmpeg</category>
            
          
            
              <category>mkv</category>
            
          
            
              <category>mp3</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>MacOS 修改系统环境变量$Path</title>
        <link>https://blog.mzh.ren/zh/posts/2020/06/2020-06-15-macos-system-environment-variables/</link>
        <pubDate>Mon, 15 Jun 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 15 Jun 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/06/2020-06-15-macos-system-environment-variables/</guid>
        <description>&lt;p&gt;系统环境变量相当于系统参数、配置项。&lt;/p&gt;
&lt;p&gt;在一众环境变量中，最常用最有名的是path变量，用于设置一组包含可执行文件的目录。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/PATH_%28%E5%8F%98%E9%87%8F%29&#34;&gt;PATH (变量) - 维基百科，自由的百科全书&lt;/a&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>bash_profile</category>
            
          
            
              <category>bashrc</category>
            
          
            
              <category>macos</category>
            
          
            
              <category>path</category>
            
          
            
              <category>环境变量</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Vue.js 切换路由后页面回到顶部</title>
        <link>https://blog.mzh.ren/zh/posts/2020/06/2020-06-07-vue-js-go-top-after-router-switch/</link>
        <pubDate>Sun, 07 Jun 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 07 Jun 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/06/2020-06-07-vue-js-go-top-after-router-switch/</guid>
        <description>&lt;p&gt;vue-router有两种路由模式（&lt;a href=&#34;https://router.vuejs.org/zh/guide/essentials/history-mode.html&#34;&gt;HTML5 History 模式 | Vue Router&lt;/a&gt;）。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL，于是当 URL 改变时，页面不会重新加载。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>gotop</category>
            
          
            
              <category>vue</category>
            
          
            
              <category>vue-router</category>
            
          
            
              <category>滚动</category>
            
          
            
              <category>路由</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>为什么使用中转域名来管理外链</title>
        <link>https://blog.mzh.ren/zh/posts/2020/05/2020-05-28-why-use-a-relay-domain-to-forward-external-links/</link>
        <pubDate>Thu, 28 May 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 28 May 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/05/2020-05-28-why-use-a-relay-domain-to-forward-external-links/</guid>
        <description>&lt;h3 id=&#34;外链&#34;&gt;外链&lt;/h3&gt;
&lt;p&gt;所谓外链，指的就是外部链接，比如a.com，b.com是不同的站，a.com 页面中有一个链接指向b.com，那这个链接就是a.com的外部链接。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>seo</category>
            
          
            
              <category>外链</category>
            
          
            
              <category>知乎</category>
            
          
            
              <category>简书</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>知乎、简书直接跳转到外链脚本</title>
        <link>https://blog.mzh.ren/zh/posts/2020/05/2020-05-28-zhihu-jianshu-jump-to-outlink-directly/</link>
        <pubDate>Thu, 28 May 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 28 May 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/05/2020-05-28-zhihu-jianshu-jump-to-outlink-directly/</guid>
        <description>&lt;p&gt;在知乎、简书这些网站访问外链接，会停在一个中转页面。如：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/05/2020-05-28-zhihu-jianshu-jump-to-outlink-directly/images/zhihu_outlink.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;需要点击&lt;strong&gt;继续访问&lt;/strong&gt;才能去到 Tampermonkey.net页面。&lt;/p&gt;
&lt;p&gt;我是习惯点开很多链接之后，等页面加载完成之后才统一浏览的，而等我回头去看，全都卡在 https://link.zhihu.com/ 页面，这让我非常难受。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>油猴</category>
            
          
            
              <category>知乎</category>
            
          
            
              <category>简书</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>javascript获取url参数值的几种方法</title>
        <link>https://blog.mzh.ren/zh/posts/2020/05/2020-05-26-javascript-get-url-parameters/</link>
        <pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 26 May 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/05/2020-05-26-javascript-get-url-parameters/</guid>
        <description>&lt;p&gt;获取URL某个参数的值是web开发中非常高频的操作，很多js类库都会提供相应的工具函数。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/05/2020-05-26-javascript-get-url-parameters/images/Query-String-Param.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;1字符串切割&#34;&gt;1 字符串切割&lt;/h3&gt;
&lt;p&gt;我最早使用的是大神 Nicholas C.Zakas(&lt;a href=&#34;https://humanwhocodes.com/&#34;&gt;Human Who Codes - The official website of Nicholas C. Zakas&lt;/a&gt;) 在《JavaScript高级程序设计》里提供的版本：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>getquerystring</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>parameters</category>
            
          
            
              <category>url</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>香蕉吧啦-JavaScript怪异行为集合（一）</title>
        <link>https://blog.mzh.ren/zh/posts/2020/05/2020-05-08-javascript-weird-part-1/</link>
        <pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 08 May 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/05/2020-05-08-javascript-weird-part-1/</guid>
        <description>&lt;h3&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/05/2020-05-08-javascript-weird-part-1/images/js-weird-part.png&#34; alt=&#34;&#34;&gt;&lt;/h3&gt;
&lt;h3 id=&#34;1-not-a-number是一个数字&#34;&gt;1 Not a Number是一个数字&lt;/h3&gt;
&lt;p&gt;全局属性 NaN 的值表示不是一个数字（Not-A-Number）,那么它是什么类型？&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;typeof NaN; // &amp;#39;number&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;所以不是一个数字，是一个数字。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>infinity</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>math</category>
            
          
            
              <category>nan</category>
            
          
            
              <category>null</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>傻瓜函数式编程</title>
        <link>https://blog.mzh.ren/zh/posts/2020/05/2020-05-06-functional-programming-for-the-rest-of-us/</link>
        <pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 06 May 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/05/2020-05-06-functional-programming-for-the-rest-of-us/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;原文链接：&lt;a href=&#34;http://www.defmacro.org/2006/06/19/fp.html&#34;&gt;Functional Programming For The Rest of Us | defmacro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;翻译链接：&lt;a href=&#34;https://github.com/justinyhuang/Functional-Programming-For-The-Rest-of-Us-Cn/blob/master/FunctionalProgrammingForTheRestOfUs.cn.md&#34;&gt;Functional-Programming-For-The-Rest-of-Us-Cn/FunctionalProgrammingForTheRestOfUs.cn.md at master · justinyhuang/Functional-Programming-For-The-Rest-of-Us-Cn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;2006年6月19日，星期一&lt;/p&gt;
&lt;h3 id=&#34;开篇&#34;&gt;&lt;a href=&#34;https://github.com/justinyhuang/Functional-Programming-For-The-Rest-of-Us-Cn/blob/master/FunctionalProgrammingForTheRestOfUs.cn.md#%E5%BC%80%E7%AF%87&#34;&gt;&lt;/a&gt;开篇&lt;/h3&gt;
&lt;p&gt;我们这些码农做事都是很拖拉的。每天例行报到后，先来点咖啡，看看邮件还有RSS订阅的文章。然后翻翻新闻还有那些技术网站上的更新，再过一遍编程论坛口水区里那些无聊的论战。最后从头把这些再看一次以免错过什么精彩的内容。然后就可以吃午饭了。饭饱过后，回来盯着IDE发一会呆，再看看邮箱，再去搞杯咖啡。光阴似箭，可以回家了……&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>函数式</category>
            
          
            
              <category>教程</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>查找并修复页面意外的overflow</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-23-findingfixing-unintended-body-overflow/</link>
        <pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 23 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-23-findingfixing-unintended-body-overflow/</guid>
        <description>&lt;p&gt;响应式网站设计切换不同尺寸后偶尔会出现页面内容比屏幕要宽面导致出现横向滚动条。这里有个脚本可以方便的检测哪个元素超出了屏幕：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;var docWidth = document.documentElement.offsetWidth;

[].forEach.call(
  document.querySelectorAll(&amp;#39;*&amp;#39;),
  function(el) {
    if (el.offsetWidth &amp;gt; docWidth) {
      console.log(el);
    }
  }
);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;找到元素后，修改适配即可。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>css</category>
            
          
            
              <category>overflow</category>
            
          
            
              <category>响应式</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>关于NPM你应该知道的10个知识点</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-18-10-things-you-should-know-about-npm/</link>
        <pubDate>Sat, 18 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sat, 18 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-18-10-things-you-should-know-about-npm/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;https://medium.com/javascript-in-plain-english/10-things-you-should-know-about-npm-f72f94a13954&#34;&gt;10 things you should know about NPM - JavaScript in Plain English - Medium&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译：码农真经&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/04/2020-04-18-10-things-you-should-know-about-npm/images/npm.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;0npm归哪家公司&#34;&gt;0 NPM归哪家公司&lt;/h3&gt;
&lt;p&gt;鉴于最近才发生的事情，第0点是码农真经自行补充的。&lt;/p&gt;
&lt;p&gt;知名包管理工具npm，现在被GitHub收购了，鉴于GitHub现在是微软的，所以npm成了微软的“孙公司”。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>gpl</category>
            
          
            
              <category>nodemon</category>
            
          
            
              <category>npm</category>
            
          
            
              <category>yarn</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>什么是闭包？</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-17-what-is-closure/</link>
        <pubDate>Fri, 17 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 17 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-17-what-is-closure/</guid>
        <description>&lt;p&gt;文章内容&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《JavaScript ES6 函数式编程入门经典》4.1理解闭包&lt;/li&gt;
&lt;li&gt;《JavaScript高级程序设计（第3版）&lt;/li&gt;
&lt;li&gt;《代码之髓 编程语言核心概念》&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures&#34;&gt;闭包 - JavaScript | MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/04/2020-04-17-what-is-closure/images/5a39fafbN9ae5359f.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>mdn</category>
            
          
            
              <category>概念</category>
            
          
            
              <category>闭包</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>[&#39;1&#39;,&#39;7&#39;,&#39;11&#39;].map(parseInt)反向面试题</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-16-array-map-parseint-and-unary-function/</link>
        <pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 16 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-16-array-map-parseint-and-unary-function/</guid>
        <description>&lt;p&gt;经常看到这个面试题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://juejin.im/post/5d0202da51882546dd10087b&#34;&gt;为什么 [&amp;lsquo;1&amp;rsquo;, &amp;lsquo;7&amp;rsquo;, &amp;lsquo;11&amp;rsquo;].map(parseInt) 返回 [1, NaN, 3] - 掘金&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://medium.com/dailyjs/parseint-mystery-7c4368ef7b21&#34;&gt;Why [&amp;lsquo;1&amp;rsquo;, &amp;lsquo;7&amp;rsquo;, &amp;lsquo;11&amp;rsquo;].map(parseInt) returns [1, NaN, 3] in Javascript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;想必大家已经非常熟悉Map的原理，因为：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;map(callback, [thisArg])&lt;/code&gt; 方法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;接受一个回调函数 &lt;code&gt;callback&lt;/code&gt;，返回一个 &lt;code&gt;新的数组&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;返回的数组的元素的值为调用 &lt;code&gt;callback&lt;/code&gt; 函数所返回的值（原数组有几个元素，就调用几次 &lt;code&gt;callback&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;callback&lt;/code&gt; &lt;strong&gt;接受 3 个参数：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;currentValue：当前正在处理的数组元素的值&lt;/li&gt;
&lt;li&gt;index：当前正在处理的数组元素的索引&lt;/li&gt;
&lt;li&gt;arr：调用 &lt;code&gt;map&lt;/code&gt; 方法的数组&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;而parseInt接收两个参数：string值和radix进制值:&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>array</category>
            
          
            
              <category>map</category>
            
          
            
              <category>parseint</category>
            
          
            
              <category>unary</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
            
              <category>面试</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 8种字符串反转的方法</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-09-eight-ways-to-reverse-a-string-in-javascript/</link>
        <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 09 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-09-eight-ways-to-reverse-a-string-in-javascript/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/04/2020-04-09-eight-ways-to-reverse-a-string-in-javascript/images/reverse_string-1024x519.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;在JavaScript中，如果要做字符串反转，我们第一时间会想到：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;const str = &amp;ldquo;&lt;a href=&#34;https://www.mzh.ren&#34;&gt;www.mzh.ren&lt;/a&gt;&amp;rdquo;;&lt;br /&gt;
str.split(&amp;rsquo;&amp;rsquo;).reverse().join(&amp;rsquo;&amp;rsquo;);&lt;br /&gt;
// &amp;ldquo;ner.hzm.www&amp;rdquo;&lt;/p&gt;
&lt;p&gt;即，字符串转化为数组，调用数组的reverse()方法，连接数组成字符串。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>字符串</category>
            
          
            
              <category>循环</category>
            
          
            
              <category>数组</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>React 项目启动报错：The &#34;path&#34; argument must be of type string</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-07-react-scripts-path-argument-error/</link>
        <pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 07 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-07-react-scripts-path-argument-error/</guid>
        <description>&lt;p&gt;今天下载一个旧的React项目，yarn start 运行，报错：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TypeError [ERR_INVALID_ARG_TYPE]: The &amp;ldquo;path&amp;rdquo; argument must be of type string. Received type undefined&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/04/2020-04-07-react-scripts-path-argument-error/images/react-scripts.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在stackoverflow上找到了解决方法，只需要把package.json 中 react-scripts升级到&amp;quot;^3.4.0&amp;quot; 即可。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>react</category>
            
          
            
              <category>react-scripts</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>ES6 键值对存储:Object还是 Map?</title>
        <link>https://blog.mzh.ren/zh/posts/2020/04/2020-04-02-es6-store-keyvalue-choose-object-or-map/</link>
        <pubDate>Thu, 02 Apr 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 02 Apr 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/04/2020-04-02-es6-store-keyvalue-choose-object-or-map/</guid>
        <description>&lt;p&gt;我们经常需要做键值对存储，大多时候我们会选择对象字面量Object ({}) 来存储，往往会忽略ES6 新提供的数据结构：Map。从字面上来看，Map才是正确的选择。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>es6</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>key-value</category>
            
          
            
              <category>map</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Module build failed: Error:Node Sass does not yet support your current environment</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-30-node-sass-does-not-yet-support-your-current-environment-windows-64-bit-with-unsupported-runtime-72/</link>
        <pubDate>Mon, 30 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 30 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-30-node-sass-does-not-yet-support-your-current-environment-windows-64-bit-with-unsupported-runtime-72/</guid>
        <description>&lt;p&gt;npm run dev 启动一个 Vue  项目报错：&lt;/p&gt;
&lt;p&gt;Failed to compile with 1 errors 21:36:21&lt;br /&gt;
error in ./src/App.vue&lt;/p&gt;
&lt;p&gt;Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (72)&lt;br /&gt;
For more information on which environments are supported please see:&lt;br /&gt;
&lt;a href=&#34;https://github.com/sass/node-sass/releases/tag/v4.9.3&#34;&gt;https://github.com/sass/node-sass/releases/tag/v4.9.3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;可能是以前一直没用sass，升级了node没有连带升级相关组件，简单粗暴的卸载重装，解决问题。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>node</category>
            
          
            
              <category>sass</category>
            
          
            
              <category>vue</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>【译】为什么你应该使用 pathlib</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-29-why-you-should-be-using-pathlib/</link>
        <pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 29 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-29-why-you-should-be-using-pathlib/</guid>
        <description>&lt;p&gt;&lt;strong&gt;原文地址&lt;/strong&gt;: &lt;a href=&#34;https://treyhunner.com/2018/12/why-you-should-be-using-pathlib/&#34;&gt;Why you should be using pathlib - Trey Hunner&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;当我刚知道 &lt;code&gt;pathlib&lt;/code&gt; 的时候，我起初觉得它很不好用，因为已经有了 &lt;code&gt;os.path&lt;/code&gt; 模块做相关的事，但后来证明我错了。&lt;code&gt;pathlib&lt;/code&gt; 模块太酷了！&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>pathlib</category>
            
          
            
              <category>python</category>
            
          
            
              <category>python3</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>VueMarkdownBlog - 最简单的静态博客程序</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-27-vuemarkdownblog-simple-static-blog-generator/</link>
        <pubDate>Fri, 27 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 27 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-27-vuemarkdownblog-simple-static-blog-generator/</guid>
        <description>&lt;p&gt;有很多静态博客生成器，据网站 &lt;a href=&#34;https://www.staticgen.com/&#34;&gt;StaticGen | Top Open Source Static Site Generators&lt;/a&gt;  统计在案的就有281个。&lt;/p&gt;
&lt;p&gt;其中基于javascript语言的就有 106个。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-27-vuemarkdownblog-simple-static-blog-generator/images/static-gen-js.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这些静态博客生成器，大多数都支持固定的模板或通过Markdown写博文，通过安装一定的&lt;strong&gt;环境&lt;/strong&gt;把模板文件转换成HTML文件。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>markdown</category>
            
          
            
              <category>vue</category>
            
          
            
              <category>博客</category>
            
          
            
              <category>静态博客</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 最佳实践之不要使用new Object()</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-25-javascript-best-practives-dont-use-new-object/</link>
        <pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 25 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-25-javascript-best-practives-dont-use-new-object/</guid>
        <description>&lt;p&gt;不要使用new Object()：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 {} 替代 new Object()&lt;/li&gt;
&lt;li&gt;用 &amp;quot;&amp;quot; 替代 new String()&lt;/li&gt;
&lt;li&gt;用 0 替代 new Number()&lt;/li&gt;
&lt;li&gt;用 false 替代 new Boolean()&lt;/li&gt;
&lt;li&gt;用 [] 替代 new Array()&lt;/li&gt;
&lt;li&gt;用 /()/ 替代 new RegExp()&lt;/li&gt;
&lt;li&gt;用 function (){} 替代 new Function()&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样做的好处多多：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;速度更快&lt;/li&gt;
&lt;li&gt;代码短小简洁&lt;/li&gt;
&lt;li&gt;类型安全，复杂对象Object的构造函数有可能被重写而导致错误&lt;/li&gt;
&lt;li&gt;有利于typeof类型检查,
&lt;ul&gt;
&lt;li&gt;typeof(new String(&amp;ldquo;java is best PL&amp;rdquo;)),返回的是 object&lt;/li&gt;
&lt;li&gt;直接声明字符串返回 string&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>javascript</category>
            
          
            
              <category>最佳实践</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript数据类型及类型检测</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-18-javascript-data-type-and-type-check/</link>
        <pubDate>Wed, 18 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 18 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-18-javascript-data-type-and-type-check/</guid>
        <description>&lt;p&gt;你觉得现在JavaScript中有多少数据类型。&lt;/p&gt;
&lt;h3 id=&#34;数据类型&#34;&gt;数据类型&lt;/h3&gt;
&lt;p&gt;在最新的 ECMAScript 标准定义了 8 种数据类型:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;7 种原始类型:
&lt;ul&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Null&lt;/li&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;BigInt&lt;/li&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Symbol&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;和 Object&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然而JavaScript对象(object)类型中内置了多种类型，简单统计如下：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>call</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>typeof</category>
            
          
            
              <category>数据类型</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript不使用for循环，生成1~100数列</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-17-make-an-array-from-1-to-100-without-loop-in-javascript/</link>
        <pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 17 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-17-make-an-array-from-1-to-100-without-loop-in-javascript/</guid>
        <description>&lt;p&gt;相信大家小学时都做过这道题：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1＋2＋3＋4＋…＋99＋100＝？
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;是的，解题方法就是大名鼎鼎的高斯求和。&lt;/p&gt;
&lt;p&gt;今天我们不言求和，来说说怎样生成1~100这个数列呢？&lt;/p&gt;
&lt;h3 id=&#34;别人家的range函数&#34;&gt;别人家的Range函数&lt;/h3&gt;
&lt;p&gt;在python、php等语言当中，有range函数可以快速生成该数组。以python内置的range函数为例：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>apply</category>
            
          
            
              <category>arrayfrom</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>length</category>
            
          
            
              <category>空位</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>npm install 详解</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-17-npm-install-options/</link>
        <pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 17 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-17-npm-install-options/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://docs.npmjs.com/cli/install&#34;&gt;npm-install | npm Documentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;npm install是安装node组件包的意思。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-17-npm-install-options/images/npm.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;npm install packageName 命令&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装模块到项目node_modules目录下。&lt;/li&gt;
&lt;li&gt;不会将模块依赖写入devDependencies或dependencies 节点。&lt;/li&gt;
&lt;li&gt;运行 npm install 初始化项目时不会下载模块。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;npm install -g packageName 命令&lt;/strong&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>node</category>
            
          
            
              <category>npm</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript中各种发送HTTP请求方式的比较</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-15-comparing-different-ways-to-make-http-requests-in-javascript/</link>
        <pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Sun, 15 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-15-comparing-different-ways-to-make-http-requests-in-javascript/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;https://medium.com/javascript-in-plain-english/comparing-different-ways-to-make-http-requests-in-javascript-39ab0f090788&#34;&gt;Comparing different ways to make HTTP requests in Javascript in 2020&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译：码农真经&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-15-comparing-different-ways-to-make-http-requests-in-javascript/images/js-http-requests.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最近我有个任务，在一个大型项目中选择用哪种方式发送ajax请求。&lt;/p&gt;
&lt;p&gt;很早以前，虽然有一些方法将数据从一个服务器而不会刷新页面,但往往依赖于笨重的技术。后来，微软开发XMLHttpRequest技术，以便在浏览器上 Outlook电子邮件客户端可以不刷新整个页面，就能收到新的email，XMLHttpRequest在2006年成为一个web标准。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>ajax</category>
            
          
            
              <category>axios</category>
            
          
            
              <category>fetch</category>
            
          
            
              <category>http</category>
            
          
            
              <category>http-clients</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>superagent</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>JavaScript 数组降维打击 Array.flat()</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-13-javascript-array-flat/</link>
        <pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 13 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-13-javascript-array-flat/</guid>
        <description>&lt;p&gt;你以前是怎么样扁平化数组，也许是这样：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Array.prototype.concat.apply([], [[&amp;#34;a&amp;#34;], [&amp;#34;b&amp;#34;]]) // [ &amp;#39;a&amp;#39;, &amp;#39;b&amp;#39; ]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上代码确实成功了，但它很长，理解起来也比较晦涩，apply方法被我们广泛的当成高级技巧刻入脑海。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>array</category>
            
          
            
              <category>flat</category>
            
          
            
              <category>javascript</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>为什么我喜欢Vue胜过React?</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-13-why-i-prefer-vue-over-react/</link>
        <pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 13 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-13-why-i-prefer-vue-over-react/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;https://medium.com/@gaute.meek/why-i-prefer-vue-over-react-12ab1da113be&#34;&gt;Why I prefer Vue over React - Gaute Meek Olsen - Medium&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译：码农真经&lt;/p&gt;
&lt;p&gt;这篇文章主要集中在API、工具层次的讨论，没有涉及到Vue与React的核心差异。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-13-why-i-prefer-vue-over-react/images/vue-vs-react.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;当今有很多很棒的Web开发框架，我相信每个框架都可以用来创建您想要的网站。你的选择的仅取决于个人喜好，您甚至可以不使用任何框架。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>react</category>
            
          
            
              <category>vue</category>
            
          
            
              <category>vue-cli</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>前端</category>
            
          
        
        
      </item>
    
      <item>
        <title>PHP 7 &#34;Use of undefined constant&#34;的错误</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-12-php-7-use-of-undefined-constant-error/</link>
        <pubDate>Thu, 12 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 12 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-12-php-7-use-of-undefined-constant-error/</guid>
        <description>&lt;p&gt;今天遇到了PHP 常量未定义的问题：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://stackoverflow.com/questions/50333864/use-of-undefined-constant-request-uri-assumed-request-uri-in-functions-php-o&#34;&gt;wordpress - Use of undefined constant REQUEST_URI - assumed &amp;lsquo;REQUEST_URI&amp;rsquo; in functions.php on line 73 - Stack Overflow&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;原因是 PHP7.2之后废弃了一些不好的写法，包括以上错误：&lt;strong&gt;不带引号的字符串 。&lt;/strong&gt; &lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-12-php-7-use-of-undefined-constant-error/images/php7.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>php</category>
            
          
            
              <category>php7</category>
            
          
            
              <category>常量</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>NPM技巧：获取全局安装的软件包列表</title>
        <link>https://blog.mzh.ren/zh/posts/2020/03/2020-03-11-npm-get-list-of-globally-installed-packages/</link>
        <pubDate>Wed, 11 Mar 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 11 Mar 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/03/2020-03-11-npm-get-list-of-globally-installed-packages/</guid>
        <description>&lt;p&gt;你知道工作机中全局安装的npm软件包的有多少吗？你可能不知道。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/03/2020-03-11-npm-get-list-of-globally-installed-packages/images/npm.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;对于NodeJS / npm新手来说尤其如此，他们经常尝试将最受欢迎的软件包安装在全局环境下，这样就不用在package.json文件中定义它们。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>npm</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>tool</category>
            
          
        
        
      </item>
    
      <item>
        <title>Python 常用代码片段 1</title>
        <link>https://blog.mzh.ren/zh/posts/2020/02/2020-02-26-python-code-snippets/</link>
        <pubDate>Wed, 26 Feb 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Wed, 26 Feb 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/02/2020-02-26-python-code-snippets/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/02/2020-02-26-python-code-snippets/images/EBOOK_PYTHON_no-name.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;1获取文件名列表&#34;&gt;1 获取文件名列表&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import os
names = os.listdir(&amp;#39;somedir&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果要查找特定后缀名文件，你可能会考虑使用 glob 或 fnmatch 模块。比如：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import glob
pyfiles = glob.glob(&amp;#39;somedir/*.py&amp;#39;)

from fnmatch import fnmatch
pyfiles = [name for name in os.listdir(&amp;#39;somedir&amp;#39;)
            if fnmatch(name, &amp;#39;*.py&amp;#39;)]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当然现在最好的还是 pathlib:&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>python</category>
            
          
            
              <category>字符串</category>
            
          
            
              <category>文件</category>
            
          
            
              <category>爬虫</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Windows 与 Deepin 双系统启动顺序的修改</title>
        <link>https://blog.mzh.ren/zh/posts/2020/02/2020-02-21-windows-deepin-boot-order/</link>
        <pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 21 Feb 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/02/2020-02-21-windows-deepin-boot-order/</guid>
        <description>&lt;p&gt;有一台windows电脑，一直以来安装了win7与深度(Deepin)linux 双系统。默认启动是系统是Deepin.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/02/2020-02-21-windows-deepin-boot-order/images/deepin-bootui.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;如上图，电脑开机后进入启动页面。前面两项为Deepin的启动引导，第三项才是Win的启动引导。如果每次启动想进入Win都需要手动选择，会非常麻烦。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>deepin</category>
            
          
            
              <category>linux</category>
            
          
            
              <category>win</category>
            
          
            
              <category>深度</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>[DOM] Found 6 elements with non-unique id 是什么错误？</title>
        <link>https://blog.mzh.ren/zh/posts/2020/02/2020-02-20-dom-found-6-elements-with-non-unique-id/</link>
        <pubDate>Thu, 20 Feb 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 20 Feb 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/02/2020-02-20-dom-found-6-elements-with-non-unique-id/</guid>
        <description>&lt;p&gt;查看chrome浏览器控制台发现一个“[DOM] Found 6 elements with non-unique id ” 的警告。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.mzh.ren/zh/posts/2020/02/2020-02-20-dom-found-6-elements-with-non-unique-id/images/console-dom-unique-id.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;这个错误是指页面中有6个元素的id重复。&lt;/p&gt;
&lt;p&gt;产生重复ID原因，是代码编辑器/IDE 会提供一些代码片段，比如在vscode中输入input:checkbox 按tab键，会生成以下一段代码：&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>chrome</category>
            
          
            
              <category>html</category>
            
          
            
              <category>id</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>为document.querySelectorAll()起个别名</title>
        <link>https://blog.mzh.ren/zh/posts/2020/01/2020-01-20-document-queryselector-alias/</link>
        <pubDate>Mon, 20 Jan 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 20 Jan 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/01/2020-01-20-document-queryselector-alias/</guid>
        <description>&lt;p&gt;我将大量运行document.querySelectorAll()，并且想要一个速记别名。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;var queryAll = document.querySelectorAll

queryAll(&amp;#39;body&amp;#39;)
TypeError: Illegal invocation
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;给document.querySelectorAll起一个queryAll的别名，调用时会报错。提示错误：非法调用。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>bind</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>queryselector</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>FFmpeg 视频处理入门教程</title>
        <link>https://blog.mzh.ren/zh/posts/2020/01/2020-01-14-ffmpeg/</link>
        <pubDate>Tue, 14 Jan 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Tue, 14 Jan 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/01/2020-01-14-ffmpeg/</guid>
        <description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;作者：&lt;a href=&#34;http://www.ruanyifeng.com/blog/&#34;&gt;阮一峰&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文链接：&lt;a href=&#34;http://www.ruanyifeng.com/blog/2020/01/ffmpeg.html&#34;&gt;FFmpeg 视频处理入门教程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ffmpeg.org/&#34;&gt;FFmpeg&lt;/a&gt; 是视频处理最常用的开源软件。&lt;/p&gt;
&lt;p&gt;它功能强大，用途广泛，大量用于视频网站和商业软件（比如 Youtube 和 iTunes），也是许多音频和视频格式的标准编码/解码实现。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>ffmpeg</category>
            
          
            
              <category>开源</category>
            
          
            
              <category>视频</category>
            
          
            
              <category>ruanyifeng</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
            
              <category>教程</category>
            
          
        
        
      </item>
    
      <item>
        <title>删除.DS_Store文件</title>
        <link>https://blog.mzh.ren/zh/posts/2020/01/2020-01-09-delete-ds_store/</link>
        <pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Thu, 09 Jan 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/01/2020-01-09-delete-ds_store/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;.DS_Store (英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件，目的在于存贮目录的自定义属性，例如文件们的图标位置或者是背景色的选择。该文件由Finder创建并维护，类似于Microsoft Windows中的desktop.ini文件。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>cmd</category>
            
          
            
              <category>ds_store</category>
            
          
            
              <category>终端</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>【5种方法】Python判断字符串是否包含子串</title>
        <link>https://blog.mzh.ren/zh/posts/2020/01/2020-01-06-python-5-ways-to-check-string-contains-substring/</link>
        <pubDate>Mon, 06 Jan 2020 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Mon, 06 Jan 2020 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2020/01/2020-01-06-python-5-ways-to-check-string-contains-substring/</guid>
        <description>&lt;p&gt;习惯于写JavaScript,当用python判断字符串是否包含某子串，第一时间想到indexOf，果然python字符串确实有index方法。&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
          
            
              <category>python</category>
            
          
            
              <category>string</category>
            
          
            
              <category>字符串</category>
            
          
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
      <item>
        <title>Node.js 抓取中文网页乱码的若干问题</title>
        <link>https://blog.mzh.ren/zh/posts/2016/2016-08-12-node-js-decode-problem/</link>
        <pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
        <author>mzhren1024@gmail.com (码农真经)</author>
        <atom:modified>Fri, 12 Aug 2016 00:00:00 +0000</atom:modified>
        <guid>https://blog.mzh.ren/zh/posts/2016/2016-08-12-node-js-decode-problem/</guid>
        <description>&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;使用-iconv-lite-解决-request-乱码问题&#34;&gt;使用 iconv-lite 解决 request 乱码问题&lt;/h2&gt;
&lt;p&gt;Node.js 抓取非 utf-8 的中文网页时会出现乱码问题，比如网易的首页编码是 gb2312，抓取时会出现乱码&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;var request = require(&amp;#39;request&amp;#39;)  
var url = &amp;#39;http://www.163.com&amp;#39;

request(url, function (err, res, body) {  
    console.log(body)
})
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以使用 &lt;a href=&#34;https://github.com/ashtuchkin/iconv-lite&#34;&gt;iconv-lite&lt;/a&gt; 来解决&lt;/p&gt;</description>
        
        <dc:creator>码农真经</dc:creator>
        
        
        
        
        
          
            
              <category>代码</category>
            
          
        
        
      </item>
    
  </channel>
</rss>