Windows包管理器Chocolatey安装
Chocolatey是windows下的软件包管理工具,使用chocolatey可以快速的安装软件。
以管理员权限运行cmd或者powershell。
cmd运行:
1@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
powershell运行:
1Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Ne ...
Windows系统Hugo安装
Hugo是一个用Go编写的静态站点生成器,由于具有丰富的主题资源和惊人的生成速度而备受青睐。
Hugo安装如果你是macOS用户,请使用Homebrew快速安装
1brew install hugo
如果你是Windows用户,请使用Chocolatey或者Scoop快速安装,取决于你使用什么包管理.
1234# chocolateychoco install hugo -confirm# scoopscoop install hugo
如果你是Debian或Ubuntu用户,请使用apt快速安装。
1sudo apt-get install hugo
基本上使用单行命令都可以成功安装Hugo。
创建Hugo网站Hugo创建网站:
进去后目录结构如下:
vscode和插件vscode安装插件 Hugofy、Hugo Helper、Hugo Language and Syntax Support,然后使用vscode打开刚刚创建Hugo项目。
加入主题Hugo有很多主题,可以去 官网 查询使用。
我这里使用Blonde。Blonde使用Node.js开发,所以会用到一点Node ...
通过nvm安装Node.js
有段时间没有使用node.js了,今天发现电脑上环境已经破坏,那就只能重安装了。
前提安装前先将本地已有的node.js卸载干净。
下载 nvm首先下载最新版nvm-windows安装。
安装时候需要选择一个nvm安装目录,一个node.js软连接目录。安装过程会自动将这两个目录加入环境变量。
安装完成之后打开terminal输入命令查看:nvm version
安装 node.js网上查看最新版本(当前是v16.14.2),直接安装命令
1234# 先查看是否已经安装,如果有,直接use即可nvm use 16.14.2# 如果没有安装,使用install命令安装nvm install 16.14.2
等待安装完成。
安装完成执行命令:
1nvm use 16.14.2
报错,并且乱码!!
查询状态码1,说是权限不够,重新开个administrator权限的powershell执行就可以了!
最后查看node.js版本:
1node --version
Android系统启动流程之Linux内核
前言Android本质上就是一个基于Linux内核的操作系统,与Ubuntu Linux、Fedora Linux类似,我们要讲Android,必定先要了解一些Linux内核的知识。
Linux内核的东西特别多,我也不可能全部讲完,由于本文主要讲解Android系统启动流程,所以这里主要讲一些内核启动相关的知识。
Linux内核启动主要涉及3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd进程(PID = 2),这三个进程是内核的基础。
idle进程是Linux系统第一个进程,是init进程和kthreadd进程的父进程
init进程是Linux系统第一个用户进程,是Android系统应用程序的始祖,我们的app都是直接或间接以它为父进程
kthreadd进程是Linux系统内核管家,所有的内核线程都是直接或间接以它为父进程
本文将以这三个进程为线索,主要讲解以下内容:
idle进程启动
kthreadd进程启动
init进程启动
本文涉及到的文件
1234567891011121314msm/ar ...
如何阅读Android源码
前言当我们把源码下载下来之后,会感到茫然无措,因为AOSP的源码实在是太多了,这里我们需要明确一些问题:
要阅读哪些源码
阅读源码的顺序和方式
用什么工具来阅读
下面我将从这三个问题一一展开
一、要阅读哪些源码这个问题是比较个性化的,因为不同的人从事着不同的工作,有的人从事应用开发,可能对Java层东西感兴趣;有的人从事Framework开发,可能对Framework层感兴趣;有的从事硬件开发,可能对底层实现感兴趣。
这个都因人而异,但是有一点,不能盲目地毫无目的地看源码,因为这样的话最终你会淹没在AOSP的大海里,看了一年半截啥都看了,却又感觉都没看透,别人问你源码的东西,都能说个一二,但是一往深了说,就不知所以了。
所以对于AOSP源码,不在于多,而在于精,你不要试图把所有的源码都看懂,你只要对自己感兴趣的那部分深入研究就可以,因为即便是Google工程师也不可能把AOSP全部读完。
对于我而言,我是从事应用层开发的,我主要会了解以下几个方面的源码:
Android系统启动流程,应用启动流程,四大组件启动流程,这将列入系统启动篇
系统常用服务ActivityManagerSe ...
模拟自然动画的精髓——TimeInterpolator与TypeEvaluator
在今天的文章开始之前,有个忙想请大家帮一下,希望在京东、淘宝、当当、亚马逊购买了我的书《Android群英传:神兵利器》的朋友们,帮忙去网店上给个简短的评价,举手之劳,还是多谢大家啦~~
本文绘图软件 https://www.desmos.com/calculator
通过属性动画,我们可以模拟各种属性的动画效果,但对于这些属性来说,动画变化的速率和范围,是实现一个更加『真实、自然』的动画的基础,这两件事情,就是通过TimeInterpolator与TypeEvaluator来实现的。
TimeInterpolator与TypeEvaluator共同作用在ValueAnimator上,通过复合的方式产生最后的数据,这也就是数学上的『复合函数』,TimeInterpolator控制在何时取值,而TypeEvaluator控制在当前时间点需要取多少值。
由于这里涉及到两个变量,所以,这里我们通常使用『控制变量法』来进行这两个属性的研究,因为通常情况下,这两个属性的作用效果是殊途同归的。
TimeInterpolator
首先,我们研究TimeInterpolator,所以,将Type ...
VS Code提示Anaconda问题处理
vscode在调试python文件时提示如下信息:
conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
这个说明conda没有添加进环境变量,vscode切换环境时候根本识别不了conda命令,我们需要将Anaconda添加入环境变量。
添加对应Anaconda环境变量到用户变量中:(以自己的安装路径为准)
我的是:
E:\tools\anaconda3
E:\tools\anaconda3\Scripts
E:\tools\anaconda3\Library\bin
完了重新启动一次vscode即可。
Pytorch安装之conda国内镜像准备
安装Pytorch,建议先安装Anaconda。Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。在官网上下载https://www.anaconda.com/distribution/,因为服务器在国外会很慢,建议从清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下载。根据需要的版本,下载下来直接安装,安装过程都用默认配置。安装完成之后,需要修改下Anaconda包镜像,默认是官方镜像,海外的,使用有点慢,这里我们用清华大学的镜像站。
anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
修改windows用户目录下的 .condarc 文件(如果没有,可先执行 conda config --set show_channel_urls yes 生成该文件)。
123456789101112131415channels: - defaultsshow_channel_urls: tr ...