自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android versionname和versioncode

当你想通过应用商店或其他方式更新应用时,系统会比较新APK的versionCode和已安装APK的versionCode。如果新APK的versionCode更大,那么系统就会允许这个更新,否则就会拒绝。因此,即使versionName相同,只要versionCode不同(且新APK的versionCode更大),那么就可以进行覆盖安装。所以,为了确保应用能够正常更新,你应该在每次发布新版本时递增versionCode的值,而versionName则可以根据你的需要来设置。

2024-05-23 07:18:27 43

原创 nginx正向代理和反向代理举例

但是,你有一个代理服务器(在这个场景中,我们可以使用Nginx作为这个代理服务器),这个代理服务器可以访问外部资源。你可能并不知道,你的请求实际上是先被Nginx反向代理服务器接收的,然后再由这个代理服务器将你的请求转发给淘宝的实际服务器。但是,公司提供了一个Nginx代理服务器,你可以通过这个代理服务器来访问你需要的外部资源。在反向代理中,客户端并不知道代理的存在,它直接访问的是代理服务器,而代理服务器再将请求转发给实际的服务器。解释一下Nginx的正向代理和反向代理,并给你一些例子。

2024-05-18 16:03:05 263

原创 adb reboot recovery什么是恢复模式?

恢复模式是 Android 设备上的一种特殊模式,提供了一些高级的系统维护和修复选项,通常用于设备的故障排除、刷写系统更新或进行其他系统级别的操作。5. **挂载和调试**:您可以在恢复模式下挂载设备的分区,以便访问和修改设备的文件系统。4. **备份和还原**:某些恢复模式提供了备份和还原功能,允许您创建设备的完整备份,并在需要时进行还原。2. **清除缓存分区**:您可以清除设备上的缓存分区,这有助于解决应用程序问题和系统性能下降的情况。

2024-05-15 18:23:30 391

原创 Android adb常用的命令

这意味着当您在本地计算机上访问 `localhost:8080` 时,请求将被转发到设备上的 `localhost:8888`。这意味着当设备上的应用程序尝试连接 `localhost:8888` 时,连接将被转发到本地计算机上的 `localhost:8080`。`adb reverse` 命令与 `adb forward` 相反,它将设备上的远程端口转发到本地计算机上的端口。`adb forward` 命令用于将本地端口转发到设备上的远程端口,从而建立本地计算机和设备之间的通信连接。

2024-05-15 18:20:15 320

原创 推荐一个网页部署托管网站-Vercel

"Vercel",它是一个现代化的静态网站部署和托管平台。6. GitHub、GitLab 和 Bitbucket 集成:Vercel 与常见的代码托管平台集成,使您可以通过 Git 进行部署,并与您的团队共享和协作。5. 域名管理和 SSL:Vercel 提供域名管理工具,使您可以轻松地将自定义域名与您的应用程序关联,并为您的应用程序自动提供免费的 SSL 证书。1. 零配置部署:通过 Vercel,您可以轻松地将您的项目部署到全球分布的 CDN(内容分发网络),无需进行繁琐的配置。

2024-05-08 20:33:31 168

原创 android studio修改Flutter SDK路径

打开Android Studio的设置(可以通过点击File > Settings或使用快捷键Ctrl+Alt+S在Windows上打开)。在这里,输入新的Flutter SDK路径,然后点击“OK”或“Apply”以保存更改。请注意,更改SDK路径后,你可能需要重启Android Studio以确保它正确加载新的配置。在Flutter页面,你可以看到。在设置窗口中,导航到。

2024-05-03 22:30:52 215 1

原创 termux(Android terminal)使用指南

https://zhuanlan.zhihu.com/p/612865403

2024-05-02 07:08:16 105

原创 微信Xlog日志解密方法

2、安装完Python后,然后去github下载微信的mars源码,下图源码的decode_mars_nocrypt_log_file.py文件就是解密xlog的主要脚本文件,而且把decode_mars_nocrypt_log_file.py 文件复制到需要解密的xlog文件同一个文件夹下。以上两个错误需要我们自己去安装,需要使用pip命令行工具安装,没有安装pip的话先去安装pip,建议安装pip版本为20.3.4。安装zstandard命令:pip install zstandard。

2024-04-30 17:59:42 353

原创 macOS配置SOCK5代理

如果您将 `internal` 设置为 `127.0.0.1`,那么代理服务器将仅监听在本地回环接口上,这意味着只有在同一台计算机上的应用程序可以连接到代理服务器,而无法通过网络连接。对于 `internal` 配置项,通常应该设置为与您实际使用的网络接口相关的 IP 地址,而不是固定地将其设置为 `127.0.0.1`。总之,根据您的具体需求和安全要求,您可以选择将 `internal` 配置为 `127.0.0.1` 或其他适当的值。建议根据您的实际情况和需求进行适当的调整和配置。

2024-04-30 16:27:22 279

原创 阿里云ECS centos配置SOCK5代理

7. **配置防火墙规则**:如果您的防火墙已启用,请确保允许进入和离开端口 1080 的网络流量。4. **配置 Dante**:根据您的需求,编辑 `sockd.conf` 文件来配置 Dante。5. **保存并退出**:按下 `Ctrl + X`,然后按 `Y` 保存修改,最后按 `Enter` 退出编辑器。1. **登录到阿里云 ECS**:使用 SSH 客户端登录到您的阿里云 ECS 实例。- `method` 部分设置为 `none`,表示不需要身份验证,即无需提供用户名和密码。

2024-04-30 16:21:45 452

原创 tail -f file查看云服务器ECS上的日志

要使用 `tail` 命令查看云服务器(ECS)上的日志,您可以通过 SSH 连接到 ECS 实例,并在终端中运行 `tail` 命令来查看日志文件的内容。现在,您可以通过使用 `tail` 命令在云服务器 (ECS) 上查看日志文件的内容。`-f` 选项用于追踪日志文件的变化并实时显示新的日志内容。您可以按下 `Ctrl + C` 来停止 `tail` 命令的执行。4. 运行 `tail` 命令来查看日志文件的内容。注意:根据您的日志文件大小和服务器性能,可能需要一些时间才能显示完整的日志内容。

2024-04-30 14:42:27 138

原创 mac上pyenv管理多个python版本

如果您想在Mac上管理多个Python版本,您可以使用pyenv这个工具。它可以让您轻松地安装、切换和卸载不同的Python版本²⁴。要安装pyenv,您可以使用Homebrew这个包管理器。要卸载指定的Python版本,您可以输入:pyenv uninstall 版本号。shell切换(当前shell生效):pyenv shell 版本号。本地切换(当前目录及其子目录生效):pyenv local 版本号。全局切换:pyenv global 版本号。pyenv install 版本号。

2024-04-25 18:48:20 108

原创 使用ollama导出模型&导入模型&配置翻译服务插件

'*' 或者包括 http://,https://,chrome-extension://,safari-extension://,moz-extension://,ms-browser-extension://可以从hugggingface.co 或者镜像网站hf-mirror.com 下载所需gguf格式的大模型(不然得自己转) 假设我们要下载的是这两天大火的斯坦福的模型。上面是最简单的办法 当然可以从上面模型信息生成完成版本的Modelfile。导入模型的时候,确保硬盘可用空间在模型大小的2倍以上,

2024-04-25 11:17:21 1508

原创 使用ollama导出gguf模型

导出的qwen_7b.gguf模型文件,在命令执行的目录。(格式为gguf),导出代码为。为例,先查看模型信息,从模型文件信息里得知。

2024-04-25 10:25:21 442

原创 MacOS使用ollama部署codellama+openui以及llama.cpp部署

先来强调下对于硬件的要求:基本的配置只需是Intel i5处理器 + 16G内存(内存8G也ok,但是能慢一些,但你CPU起码de得是i5的,相信这个配置对于大多数人来说还是可以满足的),你就能够顺利运行多种开源的大模型,例如33亿参数、7亿参数的模型,但是70b那种跑不起来。相信通过上面介绍的内容,为广大开发者和研究者在硬件资源有限的情况下,降低了AI使用的门槛,可以使更多人接触到大模型,而不只是单纯使用一些别人的AI产品。如果你的显卡性能更强,那么在大模型训练和微调方面的能力也会对应增强。

2024-04-24 20:33:24 1503 1

原创 MacOS本地部署codellama,并关联VSCode插件Cody AI

Cody。

2024-04-24 20:25:17 295

原创 macOS安装Angular CLI

如果没有安装 Node.js 和 npm,请先安装它们。您可以从 Node.js 官方网站(https://nodejs.org/)下载并安装适用于 macOS 的 Node.js 安装程序。现在,您已经成功在 macOS 上安装了 Angular CLI。您可以使用 Angular CLI 来创建、构建和管理 Angular 项目。1. 确保您的系统已经安装了 Node.js 和 npm(Node.js 包管理器)。如果安装成功,将显示 Angular CLI 的版本信息。

2024-04-24 16:05:06 352 1

原创 配置子域名以及nginx重定向配置

https://blog.csdn.net/weixin_43959963/article/details/133900400

2024-04-23 07:16:55 78

原创 makefile的目标依赖关系

在上面的示例中,目标A的依赖项为B和C。当你运行`make A`时,首先会检查B和C是否需要更新。如果它们需要更新,将会运行它们的命令来生成B和C。然后,将运行目标A的命令。请确保在Makefile中使用一个真正的制表符(`<tab>`)作为命令行前缀,而不是使用空格,因为Makefile对于命令行前缀有严格的要求。

2024-04-15 15:21:06 403

原创 docker-compose指定mysql容器启动时数据库迁移的办法

上述配置中,`./migrations:/docker-entrypoint-initdb.d` 将 `./migrations` 目录挂载到容器的 `/docker-entrypoint-initdb.d` 目录中。- MySQL 容器会在每次启动时执行 `/docker-entrypoint-initdb.d` 目录中的 SQL 文件,因此请确保该目录只包含需要执行的迁移 SQL 文件,避免执行不必要的脚本。1. 创建一个目录,用于存放数据库迁移的 SQL 文件,例如 `migrations`。

2024-04-14 18:54:45 162

原创 golang的协程介绍

进程和线程是系统定义的,系统级调度。协程是非系统级调度,用户级调度。

2024-04-13 17:57:03 121

原创 区分Socket-TCP和WebSocket

2. **通信方式:** Socket TCP 是一种全双工的、持续的、面向连接的通信方式。需要注意的是,WebSocket 协议本身是基于 HTTP 协议的升级,它在建立连接后可以切换到全双工通信模式,同时保持较低的开销。5. **适用场景:** Socket TCP 更适用于低延迟、高吞吐量的实时数据传输,例如游戏服务器、实时聊天等。1. **底层协议:** Socket TCP 是基于传输控制协议(TCP)的网络套接字编程接口,而 WebSocket 则是一种独立的、基于 TCP 的应用层协议。

2024-04-13 17:38:31 203 1

原创 go中关于defer延迟调用的最佳解释

以及介绍了在Go中如何实现其他语言的try-catch。

2024-04-13 16:43:52 85

原创 golang defer的用法

defer是先进后出,倒着执行。

2024-04-13 16:12:28 112

原创 Golang项目模块名一般采用github.com/user/project

除了 `github.com`,你也可以使用其他的代码托管平台的域名作为导入路径的一部分,例如 `gitee.com`、`gitlab.com` 等。例如,你可以使用 `gitee.com/xx/xx` 形式的导入路径来引用位于 Gitee(码云)上的代码库,或者使用 `gitlab.com/xx/xx` 形式的导入路径来引用位于 GitLab 上的代码库。需要注意的是,虽然可以使用不同的代码托管平台的域名作为导入路径的一部分,但请确保导入路径的唯一性,避免与其他开发者的模块产生冲突。

2024-04-13 14:56:14 181

原创 通过命令行创建golang项目的方式

通常,一个简单的 Go 项目包含一个或多个 Go 源代码文件(`.go`)、测试文件(以 `_test.go` 结尾)和其他辅助文件。你可以通过在终端中运行 `go version` 命令来检查是否已成功安装 Go,并查看其版本信息。将 `<module-name>` 替换为你的项目名称,例如 `go mod init myproject`。这个命令将创建一个新的 Go module(模块),并初始化一个 `go.mod` 文件来跟踪项目的依赖关系。6. 编辑创建的源代码文件,开始编写你的 Go 项目。

2024-04-13 08:10:53 211

原创 go语言用byte和rune处理字符串对比

字符串是不能修改的 字符串是由byte字节组成,所以字符串的长度是byte字节的长度。比如计算直角三角形的斜边长时使用math包的Sqrt()函数,该函数接收的是float64类型的参数,而变量a和b都是int类型的,这个时候就需要将a和b强制类型转换为float64类型。组成每个字符串的元素叫做“字符”,可以通过遍历或者单个获取字符串元素获得字符。个字节组成,所以我们不能简单的按照字节去遍历一个包含中文的字符串,否则就会出现上面输出中第一行的结果。其中,T表示要转换的类型。

2024-04-11 22:35:20 309

原创 go语言中下划线_的作用

hello/imp)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。第二个import就是不直接使用mysql包,只是执行一下这个包的init函数,把mysql的驱动注册到sql包里,然后程序里就可以使用sql包来访问mysql数据库了。即使用【import _ 包路径】只是引用该包,仅仅是为了调用init()函数,所以无法通过包名来调用包中的其他函数。1、用在import中。2、用在赋值语句中。

2024-04-11 22:24:54 127

原创 对比systemd和docker

总的来说,systemd.service 是在操作系统级别上管理和运行服务的机制,而容器提供了一种更高级的隔离和可移植性的应用程序运行环境。- systemd.service:systemd.service 针对特定的操作系统和 systemd 环境进行管理,因此在不同的操作系统上或没有 systemd 的环境中可能无法直接使用。- systemd.service:systemd.service 运行在操作系统的同一个实例中,各个服务之间共享操作系统的资源和环境。- 容器:容器提供了更灵活的资源管理机制。

2024-04-11 14:29:33 204

原创 systemd.servie是什么

这里的命令是 `/data/webroot/ai-server/ai-server --conf /data/webroot/ai-server/etc/config.yaml`,它启动了位于 `/data/webroot/ai-server/` 目录下的 ai-server 可执行文件,并使用 `/data/webroot/ai-server/etc/config.yaml` 文件作为配置文件。通过以上命令,你可以管理服务的启动、停止、重启,查看服务的状态和日志记录,设置服务的自动启动等。

2024-04-11 14:28:34 782

原创 docker-compose的服务中定义了ports可以省略expose

在 Docker Compose 中,`ports` 用于将容器的端口绑定到主机上,同时也会自动将这些端口暴露给其他服务容器。需要注意的是,`ports` 的格式是 `<主机端口>:<容器端口>`,如果只定义了容器端口而未定义主机端口,则表示绑定到随机的主机端口上。在上述示例中,我们定义了一个名为 `webapp` 的服务,使用了 `ports` 来将容器的 80 端口绑定到主机的 8080 端口上。此时,不需要显式地定义 `expose`,因为 `ports` 已经自动将容器的端口暴露给其他服务容器。

2024-04-10 22:51:48 250

原创 docker-compose支持image字段指定本地路径

docker-compose中,除了通过image指定dockerhub的镜像之外,还可以通过build指定打包镜像的上下文,在上下文内根据指定的dockerfile打包成镜像。但是需要注意,这个路径应该是指向已经加载的镜像的路径,而不是指向 Dockerfile 或其他构建文件的路径。`/path/to/myimage` 是指向已经加载的镜像的路径,`tag` 是该镜像的标签。使用本地已有的 Docker 镜像的优点是,您可以直接使用已经构建好的镜像,而无需再次构建镜像或从容器注册表中下载镜像。

2024-04-09 22:16:49 254

原创 docker-compose中command和entrypoint的执行关系

1. 如果 Docker Compose 文件中的 `command` 属性存在,并且没有指定 `ENTRYPOINT`,那么 `command` 会替代 Dockerfile 中的 `ENTRYPOINT`。2. 如果 Docker Compose 文件中的 `command` 属性存在,并且指定了 `ENTRYPOINT`,那么 `command` 会与 `ENTRYPOINT` 组合形成最终的执行命令。在这种情况下,将执行 Dockerfile 中的 `ENTRYPOINT`。

2024-04-09 22:09:03 403

原创 DockerCompose的ports和expose的关系

它的语法为 `<host>:<container>`,其中 `<host>` 是指主机上的端口,`<container>` 是指容器内部的端口。2. `expose`:`expose` 是 Docker Compose 文件中的另一个关键字,用于指定容器内部暴露的端口,但并不会自动将其映射到主机上。它的语法与 `ports` 类似,仅指定容器内部的端口号。上述示例中,将容器内的端口 `80` 映射到主机上的端口 `8080`,这意味着通过访问主机的 `8080` 端口,可以访问到容器内运行的服务。

2024-04-09 21:12:10 264

原创 k8s和docker的关系

Kubernetes 是一个开源的容器编排和管理平台,用于自动化部署、扩展和管理容器化应用程序。因此,可以将 Docker 看作是 Kubernetes 的底层技术,Kubernetes 利用 Docker 提供的容器化能力来实现容器的编排和管理。1. Docker 提供了容器化技术,使得应用程序可以以标准化、可移植的方式打包和交付。Docker 提供了容器镜像的构建、管理和分发工具,以及运行容器的运行时环境。Docker 是一种容器化平台,可以将应用程序和它们的依赖项打包到一个独立的、可移植的容器中。

2024-04-09 16:54:19 784

原创 docker的绑定加载(bind-mount)和卷挂载(volumes)的对比

volumes` 可以在容器的定义中直接声明,也可以在运行容器时使用 `-v` 或 `--mount` 参数来指定。总的来说,`bind mount` 适用于需要与主机上的文件系统直接交互的情况,而 `volumes` 更适合于需要在容器之间共享和持久化数据的情况,并提供更多的管理和权限控制功能。选择使用哪种方法取决于你的具体需求和使用场景。3. 权限管理:`bind mount` 会继承主机文件系统的权限设置,而 `volumes` 可以具有自己的权限管理机制,可以为容器内的用户和组分配特定的权限。

2024-04-09 16:50:58 352

原创 docker-compose配置了links之后容器服务通信的方式

例如,如果服务之间使用 HTTP 协议通信,`service-b` 可以通过向 `http://service-a` 发送 HTTP 请求来调用 `service-a` 的接口。在这个情况下,`service-b` 可以通过链接别名 `service-a` 来访问 `service-a` 服务容器。具体调用的方式取决于你的应用程序架构和通信协议。在应用程序中,你需要根据链接别名或目标容器的 IP 地址和端口,构建合适的请求 URL 或配置服务的调用地址,以确保容器之间的服务调用成功。

2024-04-09 16:37:57 151 1

原创 docker-compose links作用以及其他实现容器间通信的方式

具体来说,`links` 字段可以用于在 `ruoyi-nginx` 服务容器中建立到 `ruoyi-gateway` 服务容器的连接。在这个示例中,`links` 配置为 `- ruoyi-gateway`,意味着 `ruoyi-nginx` 服务容器可以使用 `ruoyi-gateway` 这个别名来访问 `ruoyi-gateway` 服务容器。在 Docker Compose 中,如果不显式地配置 `links` 或自定义网络(`networks`),默认情况下容器之间是无法直接进行通信的。

2024-04-09 16:34:57 470

原创 什么是守护进程,docker守护进程?

在Docker中,守护进程充当了Docker引擎的后台管理者。它监听Docker客户端发出的命令和请求,负责启动、停止、管理容器,管理镜像的构建和存储,创建和管理网络等。Docker守护进程(Docker daemon)是Docker引擎的核心组件之一,它是一个在后台运行的持续运行的进程。它负责管理Docker容器的生命周期、镜像的构建和管理、网络的管理,以及与Docker客户端的通信等任务。总结来说,Docker守护进程是Docker引擎的核心组件,它在后台运行并负责管理和执行Docker容器的操作。

2024-04-09 16:26:42 678

原创 docker-compose的service名称和容器名称

因此,`services` 下面的 `mall-admin` 是用来定义容器服务的,而 `container_name` 是用来指定容器的名称的。在这个示例中,服务名称为 `mall-admin`,容器名称也为 `mall-admin`,它们是相对应的关系。在示例中,`container_name: mall-admin` 指定了容器的名称为 `mall-admin`,用于标识和引用该容器。虽然在示例中,服务名称和容器名称都被设置为`mall-admin`,但是服务名称是用来标识容器实例的主要方式。

2024-04-09 16:25:59 393

空空如也

空空如也

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

TA关注的人

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