<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ErikChan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jiaming917</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jiaming917]]></copyright><item><title><![CDATA[RT-Thread Smart 用户态开发体验]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/132265441</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/132265441</guid><author>jiaming917</author><pubDate>Sun, 13 Aug 2023 22:54:20 +0800</pubDate><description><![CDATA[自 V5.0.0 起，rt-smart 分支已合并至 master 分支上，下载 rt-thread 源码后，无需再切换至 rt-smart 分支，但需要为 BSP 配置 Smart 内核。RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统，它把应用从内核中独立出来，形成独立的用户态应用程序，并具备独立的地址空间。RT-Thread Smart 在硬件平台的基础上通过 MMU、系统调用的方式把整个系统分成了内核态及用户态。进入 userapps, 配置环境变量。]]></description><category></category></item><item><title><![CDATA[Object.defineProperty和Proxy]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123465971</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123465971</guid><author>jiaming917</author><pubDate>Sun, 13 Mar 2022 20:55:18 +0800</pubDate><description><![CDATA[Vue3.0中，van You 放弃了Object.defineProperty，加入了Proxy来实现数据劫持，那么这两个函数有什么区别呢？本文深入的剖析一下两者的用法以及优缺点，相信看文本文你也会理解为什么Vue会选择Proxy。
认识 defineProperty 及其缺陷
Object.defineProperty() 方法会直接在一个对象上定义一个新属性，或者修改一个对象的现有属性，并返回此对象。
// obj：要定义属性的对象。
// prop：要定义或修改的属性的名称。
// descript]]></description><category></category></item><item><title><![CDATA[github 中使用 ssh]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123419756</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123419756</guid><author>jiaming917</author><pubDate>Fri, 11 Mar 2022 11:05:45 +0800</pubDate><description><![CDATA[从去年开始，github 对于 https 方式下载的仓库已经不支持直接 commit、push 等操作，由于 https 方式简单快捷，对于大部分只是对 git 初步熟悉的用户来说是非常合适的，因为不需要做任何配置，只需要一个 github 账号，一个仓库链接就可以将开源项目的代码拉取下来，并且贡献代码等。但是由于安全原因等考虑，github 对 https 做了一些限制，直接导致部分用户用着用着，提交不了代码了。所以，我们需要开始学习 ssh 方式啦。
生成密钥文件
打开 gitbash, 输入命令
s]]></description><category></category></item><item><title><![CDATA[【Python】文件操作 r+ 的问题]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123215313</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123215313</guid><author>jiaming917</author><pubDate>Tue, 01 Mar 2022 20:37:13 +0800</pubDate><description><![CDATA[问题背景
想用 python 实现文件的读取，并修改部分内容，再写回去。 r+ 是最符合的权限，可读写，并且可以覆盖文件之前的内容。
但是实际使用时， 发现修改后的内容是追加的方式，而不是覆盖。
 with open(gitignore, "r+") as f:
      ignore_data = f.read()
      if "cconfig.h" in ignore_data:
          ignore_data = ignore_data.replace("cconfig.h", "]]></description><category></category></item><item><title><![CDATA[React 国际化]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123051681</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123051681</guid><author>jiaming917</author><pubDate>Mon, 21 Feb 2022 17:20:43 +0800</pubDate><description><![CDATA[在 react 项目中实现国际化的方式有很多种，这篇文章中，我简述一下我平时最常用的国际化的库： react-i18next。
依赖安装
// 安装 react-i18next
npm install react-i18next i18next i18next-browser-languagedetector

配置多语言 json
在 src 目录下新建 locales 目录， 并新建 src/locales/en.json 文件和 src/locales/zh.json, 用于配置多种语言。
配置内容示]]></description><category></category></item><item><title><![CDATA[Ant Design 中 input 无法输入的问题]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123047511</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123047511</guid><author>jiaming917</author><pubDate>Mon, 21 Feb 2022 15:00:04 +0800</pubDate><description><![CDATA[Ant Design 是阿里巴巴开发的一套企业级 UI 设计语言和 React 组件库， 极大地提高了前端开发人员的开发效率。
在我的开发过程中，使用过 ant design 中的 input 组件，遇到了 input 框无法输入的问题。
错误示例
&lt;input className='input_obj' onChange={} value="test"&gt; &lt;/input&gt;

在浏览器中打开，在 input 框中输入数据时,  发现内容一致都不变，内容都为 test， 如同被禁止修改]]></description><category></category></item><item><title><![CDATA[快速创建一个 React 项目]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/123046376</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/123046376</guid><author>jiaming917</author><pubDate>Mon, 21 Feb 2022 14:18:11 +0800</pubDate><description><![CDATA[环境搭建

安装 nodejs

​	在 nodejs 官方 https://nodejs.org/en/ 下载并安装


安装create-react-app,  一个全局的命令行工具，用于简化并创建一个新的 react 项目
npm install -g create-react-app



创建项目
create-react-app react-demo //创建项目

cd react-demo // 进入到新的工程目录下

默认生成的项目框架
|-node_modules            ]]></description><category></category></item><item><title><![CDATA[Js promise 的使用]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/122886526</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/122886526</guid><author>jiaming917</author><pubDate>Fri, 11 Feb 2022 18:42:37 +0800</pubDate><description><![CDATA[Javascript 中的 Promise 对象，可以将异步操作以同步操作的流程表达出来，避免了层层嵌套的回调函数。此外，Promise 对象提供统一的接口，使得控制异步操作更加容易。
Promise 创建
var promise = new Promise(function(resolve, reject) {
    // 异步处理
    // 处理结束后、调用resolve 或 reject
});

实例
返回 Request 请求结果
function getIp() {
    return ]]></description><category></category></item><item><title><![CDATA[SpringBoot + VUE 解决 后台的 session 的 null 的问题]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/119888168</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/119888168</guid><author>jiaming917</author><pubDate>Tue, 24 Aug 2021 13:52:53 +0800</pubDate><description><![CDATA[问题原因
前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话.
在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, 既然每次请求都是一个新的会话, 那我们去获取session的时候自然就是null了.
前端处理

在 vue 中所有引入 axios 的地方添加如下代码，允许跨域携带cookieimport axios from 'axios'
axios.defaults.withCredentials = true  ]]></description><category></category></item><item><title><![CDATA[解决VSCODE安装GO插件失败问题]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/119752812</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/119752812</guid><author>jiaming917</author><pubDate>Tue, 17 Aug 2021 11:31:51 +0800</pubDate><description><![CDATA[搭建 Go 的开发环境时，我们都需要先安装 go 的安装包，在 windows 下，会自动配置 GOPATH 环境变量。
使用 vscode 开发 go
在 vscode 中新建了一个 go 文件后，vscode 会提示安装go插件
点击install all 后，即使上网的姿势很科学，可能也会安装失败，提示
Installing github.com/mdempsky/gocode FAILED
Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs FAIL]]></description><category></category></item><item><title><![CDATA[el-input 不能输入的解决办法]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/119616141</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/119616141</guid><author>jiaming917</author><pubDate>Wed, 11 Aug 2021 21:33:53 +0800</pubDate><description><![CDATA[问题背景
ElementUI 是国内前端工程师应该都听过或者使用过的前端框架， 不是使用简单，而且有着详细的文档和 API。然而，在使用 el-input 这个标签时，我遇到了一些困扰，有些情况下在  el-input 是无法输入的，就像是被禁止了一样，经过多番查找资料和查看官方文档，总结出以下解决办法，希望能给路过的前端工程师们一些参考
解决办法

场景一：标签嵌套太深

如果标签嵌套太深，会导致无法获取到 DOM，这是我们需要 $forceUpdate() 强制刷新，才可获取
&lt;el-input ]]></description><category></category></item><item><title><![CDATA[VSCode Settings 配置]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/116452471</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/116452471</guid><author>jiaming917</author><pubDate>Thu, 06 May 2021 13:56:35 +0800</pubDate><description><![CDATA[VSCode 的配置主要通过 package.json 中的 contributes -&gt;  configuration 来设置。
title
插件的标题
properties
需要配置的内容
type
配置的数据类型

boolean
string
[‘string’, ‘null’] : 在 json 中编辑
array: 数组，可手动添加

enum
可选的数据值
当 type 为 string 时，会显示成下拉框
default
默认的数据值
markdownDescription
内容描述
]]></description><category></category></item><item><title><![CDATA[linux查看版本]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/116448630</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/116448630</guid><author>jiaming917</author><pubDate>Thu, 06 May 2021 10:34:37 +0800</pubDate><description><![CDATA[Ubuntu版本
cat /proc/version
内核版本
uname -a
发布日期
lsb_release -a

]]></description><category></category></item><item><title><![CDATA[《生活，是很好玩的》读书日记]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/116293252</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/116293252</guid><author>jiaming917</author><pubDate>Fri, 30 Apr 2021 09:36:47 +0800</pubDate><description><![CDATA[《生活，是很好玩的》读书日记
2021.04.29
来到一个新的篇章， &lt;五味&gt;。
作者的进入 &lt;五味&gt;，开篇就讲山西陈醋，酸的我一喉咙。因为让我想起来一件我对醋的阴影。

有一年参加高中同学的婚礼，我是伴郎，大家都知道，现在的婚礼上会玩一些游戏，要惩罚新郎的时候，有人提议让伴郎们帮忙受惩罚，惩罚是：喝一小碗醋。 作为一个平时都不怎么喝醋的人，这可真是“爽到鼻孔里”。我收紧腹部喝了下去，当然差点没呕出来。真是一次‘酸爽’的经历

作者说，山西人不仅爱吃醋，过年更甚。人家过年都是供应好]]></description><category></category></item><item><title><![CDATA[Vscode 调用命令]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/116168545</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/116168545</guid><author>jiaming917</author><pubDate>Mon, 26 Apr 2021 19:20:12 +0800</pubDate><description><![CDATA[打开设置
vscode.commands.executeCommand(‘workbench.action.openSettings’, settingsId);
打开调试
vscode.commands.executeCommand(‘workbench.action.openSettings’, settingsId);

]]></description><category></category></item><item><title><![CDATA[vscode 创建动态树]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/115874292</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/115874292</guid><author>jiaming917</author><pubDate>Mon, 19 Apr 2021 20:54:00 +0800</pubDate><description><![CDATA[vscode.window.createTreeView（viewId， provider）
provider 变量名只能为 treeDataProvider

]]></description><category></category></item><item><title><![CDATA[vscode 插件开发小功能]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/115594555</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/115594555</guid><author>jiaming917</author><pubDate>Sun, 11 Apr 2021 12:11:21 +0800</pubDate><description><![CDATA[打开资源管理器
vscode.commands.executeCommand(“vscode.openFolder”)
打开搜索框
vscode.commands.executeCommand(" workbench.action.openFolder")
其他命令可在 快捷键中查询

]]></description><category></category></item><item><title><![CDATA[VSCODE插件开通信]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/115592973</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/115592973</guid><author>jiaming917</author><pubDate>Sun, 11 Apr 2021 11:42:12 +0800</pubDate><description><![CDATA[前端发送消息
this.$vscode.postMsg({
      type: "establish",
      projectName: this.projectName,
      path: this.savePath,
      APPID:this.APPID,
      width: resolveingArr[0] || this.customResolveX,
      height: resolveingArr[1] || this.customResolveY,
    ]]></description><category></category></item><item><title><![CDATA[基于 VSCode 插件开发]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/115479205</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/115479205</guid><author>jiaming917</author><pubDate>Wed, 07 Apr 2021 10:09:54 +0800</pubDate><description><![CDATA[在 vscode 软件的基础上添加插件，相当于 vscode 的子集，在不修改 vscode 源码对基础上对先有 IDE 进行功能增强，但是受限于 vscode 的安全架构模型，功能相对比较局限，特别是 UI 类型的功能拓展改造。
基于 vscode 插件开发的 IDE
Persimware studio
PlatformIO IDE
学习资源

官方文档：https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/?id=%e6%8f%90%e9%97%ae%e]]></description><category></category></item><item><title><![CDATA[基于 VSCODE 源码开发]]></title><link>https://blog.youkuaiyun.com/jiaming917/article/details/115478624</link><guid>https://blog.youkuaiyun.com/jiaming917/article/details/115478624</guid><author>jiaming917</author><pubDate>Wed, 07 Apr 2021 09:52:22 +0800</pubDate><description><![CDATA[对于一些自定义工程管理的需求，很多时候需要改造界面，这个时候从源码角度入手才方便实现相关的功能。基于源码修改虽然可以很大程度满足无限的需求，但是也会带来其他问题，比如：不方便升级 vscode 的的更新、可能会有意想不到的影响
基于 vscode 源码开发的 IDE
HUAWEI-LiteOS-Studio
EgretWing
Taobao Editor
技术架构

Electron
Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架，它负责比较难]]></description><category></category></item></channel></rss>