Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

test-hexo-admin

this is a test-hexo-admin page!

Hexo Admin 是 Hexo 的一个插件,可以为 Hexo 博客提供一个图形化的管理界面,使得管理和发布文章更加便捷。下面是如何安装和使用 Hexo Admin 的详细步骤:

安装 Hexo Admin

  1. 确保你已经安装了 Hexo
    你需要先安装 Node.js 和 Hexo。如果还没有安装,可以使用以下命令:

    1
    2
    3
    4
    npm install -g hexo-cli
    hexo init my-blog
    cd my-blog
    npm install
  2. 安装 Hexo Admin 插件
    在你的 Hexo 项目目录中,使用以下命令安装 Hexo Admin:

    1
    npm install --save hexo-admin

配置 Hexo Admin

  1. 更新配置文件
    打开你的 Hexo 项目目录下的 _config.yml 文件,添加以下内容来启用 Hexo Admin:
    1
    2
    plugins:
    - hexo-admin

启动 Hexo Admin

  1. 启动本地服务器
    使用以下命令启动 Hexo 本地服务器:

    1
    hexo server
  2. 访问 Hexo Admin 界面
    打开浏览器,访问 http://localhost:4000/admin/,你应该能看到 Hexo Admin 的管理界面。

使用 Hexo Admin

在 Hexo Admin 的界面中,你可以:

  • 新建文章:点击 “New Post” 按钮,填写标题和内容,然后保存。
  • 编辑文章:在文章列表中选择一个文章进行编辑。
  • 管理文件:可以上传和管理你的静态资源文件,如图片等。

注意事项

  • 确保你已经安装了所有必要的 Node.js 依赖包,并且 Hexo 能够正常运行。
  • Hexo Admin 插件会自动添加到 Hexo 的插件系统中,不需要额外的配置。
  • 为了安全起见,不建议将 Hexo Admin 部署在公网上,因为它没有内置的认证机制。

hello-ollama

Mac上使用Ollama和AnythingLLM部署Llama3模型

安装步骤

1. 安装Ollama

  • 访问Ollama官网: https://ollama.com/ 注册并下载适用于macOS的安装包。
  • 安装Ollama: 双击下载的安装包并按照提示完成安装。
  • 验证安装: 在终端中运行以下命令,确保Ollama安装成功:
    1
    ollama

2. 下载和运行Llama 3模型

  • 运行模型: 使用以下命令启动Llama 3模型:
    1
    ollama run llama3
    如果本地没有Llama 3模型,Ollama会自动下载模型。

3. 配置AnythingLLM

AngthingLLM官网:https://useanything.com
同样的选择对应的系统版本即可
在配置里配 LLM Preference,LLM provider选择ollama,URL填写默认地址,后面的模型选择llama3,token填4096

4. 测试部署

  • 验证运行状态: 通过浏览器访问http://127.0.0.1:11434

常用Ollama命令

  • serve: 启动Ollama
    1
    ollama serve
  • create: 从Modelfile创建模型
    1
    ollama create <model_name>
  • show: 显示模型信息
    1
    ollama show <model_name>
  • run: 运行模型
    1
    ollama run <model_name>
  • pull: 从注册表拉取模型
    1
    ollama pull <model_name>
  • push: 将模型推送到注册表
    1
    ollama push <model_name>
  • list: 列出所有模型
    1
    ollama list models
  • cp: 复制模型
    1
    ollama cp <source_model> <destination_model>
  • rm: 删除模型
    1
    ollama rm <model_name>
  • help: 获取命令帮助
    1
    ollama help <command>

hello django

问题描述

from django.conf.urls import url # 用 url 需要引入
ImportError: cannot import name ‘url’ from ‘django.conf.urls’ (/Users/oo/PycharmProjects/djangolearn001/.venv/lib/python3.9/site-packages/django/conf/urls/init.py)

问题原因

这是因为在Django 4.0及更高版本中,django.conf.urls.url已被移除。取而代之的是使用django.urls.path和django.urls.re_path。

问题解决

将原来的url()调用替换为path()或re_path()

1
2
3
4
5
from django.urls import path, re_path
from . import viewsurlpatterns = [
path('example/', views.example_view, name='example'),
re_path(r'^example-regex/$', views.example_view, name='example-regex'),
]

app-launcher

通过 adb shell 命令直接设置默认启动器

确认设备连接

adb devices

列出所有已安装的包名

adb shell pm list packages

查找应用主活动

adb shell dumpsys package 应用包名 | grep -A 100 'Activity' adb shell dumpsys package com.rokid.glass.dxeducation | grep -A 100 'Activity'

设置launcher

adb shell cmd package set-home-activity 应用包名/.activity.主活动 adb shell cmd package set-home-activity com.rokid.glass.dxeducation/.activity.UserGuideActivity

mac上MySQL启动后立即停止

问题描述:

在System Preference中,进入MySQL,当点击Start MySQL Server时,左侧的红色变成绿色后,立即又变成了红色,启动后立即又停止了!

解决方法:

在命令行中进行操作

启动

sudo /usr/local/mysql/support-files/mysql.server start

停止

sudo /usr/local/mysql/support-files/mysql.server stop

重启

sudo /usr/local/mysql/support-files/mysql.server restart

hello adb

由于在干活过程中需要经常使用adb,所以抽空把adb常用的一些命令总结一下:

ADB(Android Debug Bridge)是一种功能强大的工具,可以用来管理和控制Android设备。以下是一些常用的ADB命令及其简要说明:

基本命令

  1. 连接设备

    1
    adb devices

    列出所有连接的Android设备的序列号。

  2. 启动ADB服务器

    1
    adb start-server

    启动ADB后台服务。

  3. 停止ADB服务器

    1
    adb kill-server

    停止ADB后台服务。

文件操作

  1. 推送文件到设备

    1
    adb push <本地文件路径> <设备目标路径>

    将文件从计算机推送到设备,例如:

    1
    adb push example.txt /sdcard/Download/
  2. 从设备拉取文件

    1
    adb pull <设备文件路径> <本地目标路径>

    从设备拉取文件到计算机,例如:

    1
    adb pull /sdcard/Download/example.txt ./

应用管理

  1. 安装应用

    1
    adb install <apk文件路径>

    安装APK文件到设备,例如:

    1
    adb install example.apk
  2. 卸载应用

    1
    adb uninstall <应用包名>

    卸载设备上的应用,例如:

    1
    adb uninstall com.example.app
  3. 列出已安装的应用

    1
    adb shell pm list packages

    列出设备上已安装的所有应用包名。

设备控制

  1. 重启设备

    1
    adb reboot

    重启Android设备。

  2. 重启到引导加载程序

    1
    adb reboot bootloader

    重启设备到引导加载程序模式。

  3. 进入恢复模式

    1
    adb reboot recovery

    重启设备到恢复模式。

调试与日志

  1. 启动Shell

    1
    adb shell

    启动设备上的命令行shell。

  2. 查看日志

    1
    adb logcat

    查看设备的系统日志。

其他

  1. 获取设备信息

    1
    adb shell getprop

    获取设备的属性信息。

  2. 获取设备屏幕截图

    1
    2
    adb shell screencap /sdcard/screenshot.png
    adb pull /sdcard/screenshot.png

    获取设备的屏幕截图并拉取到本地。

  3. 录制屏幕

    1
    2
    adb shell screenrecord /sdcard/demo.mp4
    adb pull /sdcard/demo.mp4

    录制设备的屏幕并拉取到本地。

hello-git

最近在搭博客过程中经常用到git,把之前学习git的内容再复习一下

Git是一种开源的分布式版本控制系统,主要用于跟踪和管理源代码的更改。它由Linus Torvalds在2005年开发,最初是为了支持Linux内核开发。Git的设计目标是高效处理大规模项目,同时能够保持速度和数据完整性。以下是对Git的一些关键特性的介绍:

1. 分布式版本控制

Git与集中式版本控制系统(如SVN、CVS)不同,它是分布式的。这意味着每个开发者的工作目录都是一个完整的代码仓库,包括所有的历史版本记录。这种设计使得Git具有以下优势:

  • 离线工作能力:开发者可以在本地进行提交、创建分支等操作,即使没有网络连接。
  • 备份和恢复:由于每个克隆的仓库都包含完整的历史记录,数据的冗余性提高了可靠性。

2. 强大的分支模型

Git的分支(branch)管理非常轻量且灵活,允许开发者快速创建、合并和删除分支。常见的分支策略包括:

  • 功能分支(Feature Branch):每个新功能都在一个独立的分支上开发,完成后再合并到主分支。
  • 修复分支(Hotfix Branch):用于紧急修复生产环境中的问题。
  • 发布分支(Release Branch):在发布新版本前进行的最后调试和修复工作。

3. 高效的合并和冲突解决

Git使用三方合并(Three-way Merge)算法,可以高效地合并不同分支的代码变更。即使在多人协作中出现冲突,Git也提供了丰富的工具来帮助解决冲突,例如:

  • 命令行工具:如git mergegit rebase
  • 图形化工具:如GitKraken、Sourcetree等。

4. 提交和历史记录

每次提交(commit)都包含一组文件的快照及其元数据,如作者、时间戳和提交信息。提交记录可以通过哈希值唯一标识。常用的历史记录命令包括:

  • git log:查看提交历史。
  • git diff:比较文件差异。
  • git blame:查看每行代码的最后修改记录。

5. 分布式协作

Git支持多种协作方式,如通过GitHub、GitLab等平台进行代码托管和协作。开发者可以通过克隆(clone)、拉取(pull)和推送(push)来同步代码变化。此外,Pull Request(合并请求)和Code Review(代码审查)功能进一步增强了协作的效率和代码质量。

基本命令

以下是一些常用的Git命令及其简要说明:

  • git init:初始化一个新的Git仓库。
  • git clone [url]:克隆一个远程仓库到本地。
  • git add [file]:将文件的更改添加到暂存区。
  • git commit -m "message":提交暂存区的内容。
  • git status:查看当前工作目录的状态。
  • git push:将本地提交推送到远程仓库。
  • git pull:从远程仓库拉取并合并更新。
  • git branch:列出、创建或删除分支。
  • git checkout [branch]:切换到指定分支。

Git实践

  • 创建了本地版本仓库并将文件提交到本地仓库 常用操作
    1、mkdir 创建一个文件夹
    2、cd 进入该目录
    3、pwd 显示该目录路径
    4、git init 将创建的文件夹 变成一个本地仓库
    5、git add 文件名
    6、git commit -m “这里通常对提交的文件做一个简单的说明”
    7、git status 随时掌握工作去的状态
    8、git diff 查看修改内容
    9、git log 查看历史记录
    10、git log –pretty=oneline 查看历史记录(带过滤)
    11、git reflog 用来记录每一次的命令
    12、git reset –hard commit_id 返回到历史版本
    13、cat 文件名 查看文件内容
    14、git checkout – 文件名 实质是用版本库里面的文件版本替换工作去的版本
    15、git rm 文件名 删除文件 直接用rm命令或者在工作区中删除会造成版本库和工作区中文件不一致

  • 远程托管
    16、git remote add origin ssh地址(ssh地址为github上创建的仓库时生成的)
    17、git push -u origin master 第一次把当前分支master的所有内容推送到远程
    18、git push origin master 非首次推送
    19、git clone ssh地址 从远程库克隆 git remote -v 查看远程库信息

  • 分支管理
    20、git branch 查看分支
    21、git branch branch_name 创建分支( branch_name为自定义的分支名称)
    22、git checkout branch_name 切换分支
    23、git checkout -b branch_name 创建并切换分支
    24、git merge branch_name 合并某分支到当前分支
    25、git branch -d branch_name 删除分支
    26、git log –graph 查看分支合并图
    27、git merge –no-ff branch_name 普通模式下的合并,合并后的历史有分支,能看出来曾经做过合并
    28、git stash 把当前工作现场“隐藏”
    29、git stash list 查看隐藏的工作现场
    30、git stash apply 恢复工作现场,但是恢复后,stash内容并不删除,需要git stash drop 删除
    31、git stash pop 恢复工作现场的同时,stash内容也被删除
    32、git branch -D branch_name 强行丢弃一个没有被合并过的分支

  • 创建标签
    33、git tag tag_name 创建一个标签,默认为HEAD,也可以指定一个commit id
    34、git tag -a tag_name -m “此处指定标签信息”
    35、git tag -s tag_name -m “此处用PGP签名标签”
    36、git tag 查看所有标签
    37、git show tag_name 查看标签信息

  • 操作标签
    38、git tag -d tag_name 删除一个本地标签
    39、git push origin tag_name 推送某个标签到本地
    40、git push origin –tags 推送全部未推送过的本地标签
    41、git push origin : refs/tags/tag_name 删除一个远程标签

  • 自定义git
    42、git config –global color.ui true
    43、git config –global alias.st status 设置status的别名为st
    44、git config –global alias.last ‘log -1’ 配置了一个git last,显示最后一次提交信息

注意:当git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成
注意: 要add的文件必须放在创建的文件夹目录或子目录(即就是工作区,.git文件就是版本区)