自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 vim 专栏声明

更多分享内容可访问我的个人博客https://www.niuiic.top/截至 2022 年 5 月,vim 专栏之前的大部分内容已经过时。内嵌 Lua 的 Neovim 及其生态已经起飞。重写文章太麻烦了,就分享一下我的配置,希望能有所帮助。再贴一张图。...

2022-05-23 20:39:33 124

原创 在 React Native 中实现可扩展卡片

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 react native 中自定义一个可以通过点击展开收起的容器,本文中将其称为可扩展卡片。实现方式说一下实现思路。首先,这个卡片应当有两个状态,即展开和收起状态,那么一定有一个描述状态的变量,点一下按钮可以切换变量的值。然后,在收起状态下,子组件应当不显示,展开状态下子组件显示。要达成这样的效果有很多种方法。比如{isHidden ? children : null},或者改变组件高度。这样做的效果就是

2022-03-10 16:56:50 127

原创 redux-toolkit 在 react 中的用法(续)

更多分享内容可访问我的个人博客https://www.niuiic.top/rtk-queryrtk-query 是进行网络请求的一个工具,相比其他工具可能用起来会比较方便。下面介绍一下使用流程。首先是新建一个基础 api。// apis/base.tsimport { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";export const baseApi = createApi({ // 根据url自动

2022-02-26 14:37:50 2615

原创 redux-toolkit 在 react 中的基础用法

更多分享内容可访问我的个人博客https://www.niuiic.top/本文通过几个例子来帮助初学者快速入门 redux-toolkit 在 react 的应用,不涉及 异步 action 以及与服务器的交互,不解释 redux 的原理和用法,读者应当对 react 和 redux 有一定了解。quickstart先来看一个简单的案例,这是redux toolkit document中的例程。首先来看最终在 react 中使用 redux 的部分。// features/counter/Co

2022-02-25 19:28:21 1070

原创 Beego API 快速入门

更多分享内容可访问我的个人博客https://www.niuiic.top/本文将通过一个简单的案例帮助初学者打通 beego api 开发流程。环境配置安装 golang,配置GOPROXY, GOPATH, GOROOT,启用 go module。在 shell 配置文件中加入export GOPATH="yourPath"。并且将 GOPATH 中的 bin 目录加入 PATH。安装 bee。go install github.com/beego/bee/v2@latest

2022-02-23 15:53:12 1061

原创 使用 vim 作为 sql 编辑器

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何将 vim 打造为优秀的 sql 编辑器。本文内容仅涉及对 sql 编辑的基本配置,要获取完整的体验请参考vim 专栏。代码检查、格式化与代码补全代码检查与格式化只需安装coc.nvim以及coc-sql插件即可。coc.nvim的安装与配置可以参考另一篇文章。参考链接文章中的自定义补全源一节自定义 sql 关键字补全文件。可参考以下内容。function! coc#source#sql#init() ab

2022-02-22 11:18:17 722

原创 Gentoo Ebuild 和 Overlay

本文简要介绍如何创建自己的 ebuild 和 overlay。自定义 overlayebuild 是规定软件包安装的文件,overlay 可以看成是盛放 ebuild 的容器。为了方便包管理系统和维护者管理及使用 ebuild,overlay 是必不可少的。因此在编写 ebuild 之前,首先需要创建一个自己的 overlay。overlay 的存在形式有两种,一种在本地,一种在远程。本文使用第二种方式。首先在本地创建一个 overlay。sudo eselect repository creat

2022-02-10 00:02:18 429

原创 Vim 代码折叠

更多分享内容可访问我的个人博客https://www.niuiic.top/本文简要介绍一种可能适用于多数人的 vim 代码折叠方案。需求简单地说,当不关心的代码量比较大时,寻找想要的代码或者在文件内跳转都会非常吃力,这时把这些不关心的代码折叠起来就成了必要。方案首先了解一下 vim 内置的 6 种折叠方案,分别是manual(手动定义折叠)、indent(按缩进折叠)、expr(用表达式定义折叠)、syntax(按语法折叠)、diff(将未修改的折叠)、marker(用标志折叠)。有一个插

2022-02-03 22:19:48 1023

原创 Vim 单元测试插件

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍一款可以在 vim 中灵活进行单元测试的工具。需求对于较大规模的项目而言单元测试是必不可少的。要在 vim 中进行单元测试有很多种方法。比如使用内置终端,自己编写测试脚本,通过asynctasks.vim等。但以上方法均无法做到精确、灵活地测试。比如有 10 个测试文件,共有 100 个测试函数,只想测试第 3 个文件中的第 2 个函数,依靠以上方法会比较困难。解决方案vim-test插件是目前最好的选择。该插件

2022-01-29 02:02:54 555

原创 在gentoo上使用sway

键位设置查看输入设备。export SWAYSOCK=$(ls /run/user/*/sway-ipc* | head -n 1)swaymsg -t get_inputs查看键位设置。man 7 xkeyboard-config案例如下。可以使用设备类型,也可以使用设备名称。input "type:keyboard" { xkb_layout us xkb_options ctrl:swap_lalt_lctl,caps:swapescape}input "1:1

2022-01-19 21:36:09 892

原创 使用 React Native 中遇到的一些问题

更多分享内容可访问我的个人博客https://www.niuiic.top/本文记录在使用 React Native 中遇到的一些问题及解决方法。卡在 info Starting JS server…如果你的网络没有问题,即没有被墙,那么一般可以使用以下方法解决。为了测试,首先新建一个项目,npx react-native init AwesomeProject。然后使用 Android Studio 打开项目的 android 目录,并且开启模拟器。然后就不要动 IDE 里的东西,尤其是一些升

2022-01-06 23:01:41 1325

原创 Neovim:从 Vimscript 到 Lua

更多分享内容可访问我的个人博客https://www.niuiic.top/本文简要介绍如何在 neovim 中使用 lua 来代替 vimscript。why or why not lua相比 vimscript,lua 有更好的工具支持,包括 lsp 和 formatter(vimscript 没有格式化工具是最大的痛点)。代码量庞大的情况下 lua 比 vimscript 更有优势。写 neovim 配置文件时,vimscript 在自动补全方面更强(lua 的全局变量 vim 默认情况

2022-01-05 17:45:23 1801

原创 在 linux 上重置 AndroidStudio 设置

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 linux 上重置 AndroidStudio 设置。需求重装 AndroidStudio 时如果不重置设置将无法成功安装。方法rm -rf ~/.androidrm -rf ~/.gradlerm -rf ~/.config/Google/AndroidStudio*rm -rf ~/.cache/Google/AndroidStudio*...

2022-01-01 09:55:52 1819

原创 关于如何在使用 genkernel 的情况下修改内核设置

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在使用 genkernel 的情况下修改内核设置。需求genkernel 的好处是可以省去内核设置的烦恼,一步完成内核的设置、编译、安装。但其缺点也很明显,当你想修改某一个具体的内核参数时,很可能发现无从下手。虽然 genkernel 可能提供了该功能,但是由于配置过多,可能实在找不到。那为什么要修改具体某个参数呢,genkernel 不是都安排妥当了吗?事实上并非如此,举个例子。linux kernel 5.

2021-12-26 22:33:27 388

原创 在wsl2中安装kali linux

本文介绍如何在wsl2中安装kali linux及其桌面。why kalikali是wsl官方支持的linux中安装系统以及桌面最容易的。如果你只是想有一个linux桌面系统,那么它再合适不过了。安装流程用管理员权限打开powershell,使用命令wsl --installl -d kali-linux即可安装系统(wsl相关的设置会一并完成)。当弹出kali linux的终端时,设置用户名,密码,同时一定不能忘记用sudo passwd root设置root用户的密码。然后使用命令wsl --

2021-12-13 16:42:20 3628 2

原创 Gentoo 软件包冲突

更多分享内容可访问我的个人博客https://www.niuiic.top/Gentoo 教程目录本文介绍 gentoo 系统下的软件包冲突及其解决思路。软件包冲突什么是软件包冲突?用一句话来概括就是两者无法共存。无法共存的原因是什么?两者在同一个依赖上有不同的要求。举个例子。dev-libs/protobuf是media-libs/opencv的一个依赖。它同时也是media-video/vlc的一个依赖。假设现在 vlc 想升级,需要3.19.1版本的 protobuf。但是当前版本的 o

2021-11-28 17:47:22 3559

原创 在 Gentoo 系统上安装 swift

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 gentoo 系统上安装 swift。安装步骤从 https://www.swift.org/download 直接下载 Amazon Linux 2 版本的工具链。解压。补全依赖。运行一下 bin 下的 lldb,看缺少什么,上网查一下,安装对应的包即可。一般缺少的是 python3.7 和 dev-libs/libedit。其他方式ebuild这个已经有人做了,可以查看overlay。但是目前

2021-11-28 16:26:00 1620

原创 深入剖析 C 语言指针

更多分享内容可访问我的个人博客https://www.niuiic.top/最近得空玩了会儿 stm8 单片机。本来还想着能不能用 rust 语言开发,可惜 llvm 不支持该架构,只好捡起许久不用的 C。复习 C 语法的时候正好看到了一本书 ——《Pointers on C》,中文名《C 和指针》。本以为是主讲指针的,还期待着能学到什么骚操作,没想到还是偏基础,指针的内容也不是很多。不过书中讲解指针的部分算是非常详细了,于是取其精华并略加拙见写成此文,省得下次翻书。为什么需要指针程序就是各数据结构

2021-07-09 21:28:49 133 2

原创 在 linux 上开发 stm8

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 linux(Gentoo)上开发 stm8。硬件stm8 开发板,比如 stm8s105k4 最小系统板。stlink,USB 的那种总是连不上电脑,建议选择白色 20 针的那种。连接所需杜邦线。软件sdcc使用 sdcc 作为编译器。直接搜索如何安装即可。stm8-gdb使用 stm8-gdb 作为调试器。按其官网的介绍下载源文件。编译之前先安装好 python3.6。如果是

2021-06-24 11:33:36 326

原创 使用 rust 开发 stm32:stm32f3discovery-can-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。Don’t forget to enable can feature of stm32f3xx_hal crate.#![no_main]#![no_std]use cortex_m

2021-06-20 08:23:59 181

原创 使用 rust 开发 stm32:stm32f3discovery-i2c-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use core::ops::Range;use cortex_m::asm;use cortex_m_semihosting::{hpr

2021-06-20 08:20:55 200

原创 使用 rust 开发 stm32:stm32f3discovery-spi-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use cortex_m_semihosting::hprintln;use hal::{ prelude::*, rcc:

2021-06-20 08:20:35 194

原创 使用 rust 开发 stm32:stm32f3discovery-serial-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。Since tx, tx_buf, tx_channel will be moved in use, I have not found a way to use USART with DMA

2021-06-19 22:59:17 177

原创 使用 rust 开发 stm32:stm32f3discovery-pwm-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use panic_semihosting as _;use rtic::app;use stm32f3xx_hal::{pac, pre

2021-06-19 22:41:09 122

原创 使用 rust 开发 stm32:stm32f3discovery-adc-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。Press the user button on stm32f3discovery board, and you will see the voltage changing.#![no_m

2021-06-19 22:38:20 102

原创 使用 rust 开发 stm32:stm32f3discovery-horse-race-lamp-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于 stm32 专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。The example below has an error that *const (dyn gpio::private::GpioRegExt + 'static) cannot b

2021-06-19 22:33:42 48

原创 使用 rust 开发 stm32:stm32f3discovery-blink-rtic

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于 stm32 专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]// Use panic_semihosting instead of panic_halt.use panic_semihosting

2021-06-19 22:30:25 110

原创 使用 rust 开发 stm32:stm32f303-horse-race-lamp-with-timer-in-interrupt-mode

更多分享内容可访问我的个人博客https://www.niuiic.top/本系列教程全部置于 stm32 专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use cortex_m_rt::entry;use panic_halt as _;use stm32f3::stm32f303;

2021-06-19 22:25:08 99

原创 使用 rust 开发 stm32:stm32f303-horse-race-lamp-with-timer-in-pulling-mode

本系列教程全部置于 stm32 专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的 stm32 例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use cortex_m_rt::entry;use panic_halt as _;use stm32f3::stm32f303;#[entry]fn main() -> ! { let pe

2021-06-19 22:20:16 82

原创 使用 rust 开发 stm32:stm32f303-light-a-LED

本系列教程全部置于stm32专栏。本例程参考stm32fxxx-hal crate(如stm32f1xx-hal)官方例程,并在官方例程的基础上增加了一些注释,修正了一些错误。可以借鉴不同型号的stm32例程,毕竟固件库的核是一样的。#![no_main]#![no_std]use cortex_m_rt::entry;use panic_halt as _;use stm32f3::stm32f303;#[entry]fn main() -> ! { let periph

2021-06-19 22:15:57 290

原创 使用 rust 开发 stm32:stm32f103-adc-with-dma

本系列教程全部置于stm32专栏。#![no_main]#![no_std]use panic_semihosting as _;use cortex_m::singleton;use cortex_m_semihosting::hprintln;use cortex_m_rt::entry;use stm32f1xx_hal::{adc, pac, prelude::*};#[entry]fn main() -> ! { let dp = pac::Peripher

2021-06-19 22:09:39 321

原创 使用 rust 开发 stm32:前言

更多分享内容可访问我的个人博客https://www.niuiic.top/本文为使用 rust 开发 stm32 系列教程前言。Why RustRust 特性就不用多介绍了,有个编译器管着有时候比用C到处浪把自己整没了好。ST官方逐渐停止对C固件库的更新,使用MX感觉没自己写舒服。毕竟它也就生成个初始化代码,虽然看起来挺快,但是实际上自定义snippets可以比它快得多。可能对于不熟悉当前开发板的用户来说可以省去一点看参考手册的麻烦。不过老手可能无所谓。尝鲜吧。折腾吧(又是和编译器斗智斗勇

2021-06-19 21:50:48 3255

原创 在linux下开发FPGA

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 linux 下开发 FPGA。编译器由于 FPGA 的特殊性,目前只有各商用 IDE 可以胜任整个开发流程。因此,也无需去找开源替代产品。直接使用开发板厂家提供的 IDE 是最合适的。如果该厂家并没有开发 IDE,可以使用 vivado 等较为常用的 IDE。虽然使用 IDE,但是我们只用它来进行编译、下载。仿真与编辑建议使用其他工具进行。原因为目前没有任何 FPGA IDE 可以提供良好的编辑体验,另外像

2021-06-15 13:25:05 1516 2

原创 Advanced Tutorial of Vue-Vite-Typescript

For more sharing content, please visit my personal blog.https://www.niuiic.top/The following are the notes I took when I studied vue with reference to the official tutorial. The biggest difference between my notes and official tutorial is that I use type

2021-06-06 16:06:36 51

原创 vim使用自定义snippets

本文介绍如何在 vim 中使用自定义 snippets。本文不详解 snippets 语法。插件安装与配置首先,安装coc-snippets插件,该插件依赖coc.nvim。安装好coc.nvim之后,只需要使用:CocInstall coc-snippets命令即可安装。具体设置可以参考其github 主页。安装该插件后需要同步安装honza/vim-snippets来提供 snippets。SirVer/ultisnips需要拆卸掉,因为该插件会对自定义的 snippets 文件报错。接下来,使用

2021-06-05 16:30:28 1498 1

原创 创建 Tauri + Vue + Typescript + Vite + Less 应用

项目创建流程直接上代码app_init.sh$templatePath=xxxecho "What's your app's name?"read appNameyarn create @vitejs/app $appName --template vue-tscd $appNameyarn set version berrycp "$templatePath/tauri/yarnrc.yml" .yarnrc.ymlyarn installyarn add less -Dyarn

2021-06-04 14:52:52 1504

原创 Tauri 初体验

本文介绍如何在 linux 系统上运行第一个 tauri 应用。js 开发人员应当可以直接参考官方文档跑通程序。本文旨在为不熟悉此类开发的人士梳理开发流程。什么是 tauri用一句话回答:tauri 是 electron 的替代品。目前它已经可以做到比 electron 更好。Hello World接下来,来看如何使用 tauri 框架。环境配置根据官方文档。在 linux 下使用 tauri 需要 webkit library、nodejs runtime 以及 rust 环境的支持。

2021-06-04 14:29:23 8602

原创 Spartan Edge Accelerator Board 入门教程

Spartan Edge Accelerator Board

2021-06-03 16:20:13 1321

原创 Basic Tutorial of Vue-Vite-Typescript

For more sharing content, please visit my personal blog.https://www.niuiic.top/The following are the notes I took when I studied vue with reference to the official tutorial. The biggest difference between my notes and official tutorial is that I use type

2021-05-17 22:33:27 113

原创 创建vue项目:vue3 + vite + typescript + less

首先声明一下,笔者只是刚玩了会vue, 和 cannot find module vue斗智斗勇了半天。好不容易搞定了,来分享一下。以下不会涉及关于vue开发的具体内容。首先使用npm全局安装yarn2。npm install -g yarn@berryyarn2在全局的配置让人迷惑。于是干脆在全局使用npm,yarn2就在项目内用了。创建项目# yarn2似乎只能在项目内配置,所以创建项目之前是没法配置镜像的。# 使用vue + ts的模板创建项目yarn create @vitejs

2021-05-15 11:01:16 1349

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除