Wayne's blog

分类 · programming

首页

关于

归档

好友们

loading..
GPTIDEAdatabaseDocker

好用的工具和插件

好用的工具和插件这是一期主要分享工具和插件,也是第一期做这个,简单稍微写一下。 本期所有插件 完全免费 VS CodeMicrosoft WSL & Remote SSH https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh Remote SSH 就不用讲了,远程开发的同学 相比直呼牛x,那么就稍微讲一下 WSL。 在 windows 中 WSL 现在几乎是开发必备的一个东西了,可以和window无缝集成,而且 可以使用 最轻便的 Linux,而且,窗口化 可以透过 VNC 协议,直接在 windows 中渲染,现在的微软,简直是 Linux 最强开发者。 那么 从 windows 中,连接..

更多
loading..
jsonrpc

JSON RPC

JSON RPC偶然在 aria2 上看到了这个协议,平时我们都是用json来交换数据的,那么json RPC 是什么。 无状态且轻量级的远程过程调用(RPC)传送协议,其传递内容透过 JSON 为主。 相较于一般的 REST 透过网址(如 GET /user)调用远程服务器,JSON-RPC 直接在内容中定义了欲调用的函数名称(如 {“method”: “getUser”}), 这也令开发者不会陷于该使用 PUT 或者 PATCH 的问题之中。 我的看法目前国内行业中普遍都是采用特别偷懒或不合理的做法 请求全部使用 POST 响应 永远都是 HTTP 200 响应体里 一定要包装一层,而且有自己的错误码(好像也没人看/维护这个错误码) 在我看完 Json RPC 之后,我的评价是..

更多
loading..
APIcloudflareAI

GPT Open API

私有 AI 和 OpenAI 兼容的 API现在很多私有化部署的 GPT 正在逐渐变多,且 运算方法在不断的更新,优化也越来越好,使得在笔电上跑一个 GPT 都已经不是问题了。 所以还是有必要记录一下我搭建的私有GPT和对外开放API的坑的。 私有 GPT方式方法软件都有很多: ChatGLM LM Studio GPT4All ….. OpenAI 的 API 文档: https://platform.openai.com/docs/api-reference/chat/create ChatGLM(chatglm.cpp) https://github.com/li-plus/chatglm.cpp 这是一个 c++ 实现的 ChatGLM,效率非常惊人,运行中占用的资源极低。 但是如果想要运行 ..

更多
loading..
nodejscloudflare

IP Echo

自己部署一个查看公网 IP 的服务之前一直都是使用的别人的 API 来去天气的当前地点,后来那个 API 挂了,导致我没这个数据了 其他的 要么做的太小 不能保证服务可用性,要么有CORS策略,web 嵌入是做不了的 另外 就是想通过最简单的 api,来快速获取IP。 所以干脆自己整一个吧。 MaxmindMaxmind 可以提供 GeoIP® data,算是一家独大的了 而且 Free plan 已经足够大多数场景使用了 数据也很准确 但使用其产品还是有些限制的,需要申请 license,文件数据更新也是个问题。 所以还是只能再调用在线的 API 了,好在足够使用。 接来下,就要想一下,高可用的服务 建设在哪里了。 Cloudflare Worker想了一下,即可以免费使用 又可以保证服务可用性的,而且还..

更多
loading..
GPT

ChatGLM2-6B

ChatGLM2-6B背景之前一直在用ChatGLM,前不久ChatGLM2出了,试试差别有多大 安装准备环境 python3 (miniconda) Linux 或 Windows (有无显卡均可) step 1. 代码和模型clone 代码 git clone https://github.com/THUDM/ChatGLM2-6B cd ChatGLM2-6B 再把 model 也 clone 下来(不要返回目录,就在这个代码目录里) mkdir THUDM cd THUDM # # Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface...

更多
loading..
npmnode

Node项目离线构建

背景想要在一个无网络的环境下通过源代码构建dist,而不是拷贝dist到目标机器上,这样很难改动部分源代码重新部署应用。 offline build其实首先能明白一个理念就好解决了。(https://stackoverflow.com/questions/43064107/how-to-install-npm-package-while-offline) npm install 只是检查依赖项,如果没有找到本地文件中的相关依赖,则会下载他们。 但是 node_modules 又和平台相关,所以我们只需要建立和目标平台一致的联网环境即可,拷贝 node_modules 到无网环境中的源代码里就可以了。 接着执行 npm run build, 即可正常构建,整体感觉还是非常容易的。 cp -r ./node_m..

更多
loading..
Python

Python 打包平台二进制文件

Python 打包平台二进制文件背景不知道为什么 Python 怎么那么火,到处都有在用,导致不得不用Python来完成一些事情。 python 安装依赖需要用到 pip,而且还需要有外网,但是这对离线部署就很不友好。 所以 在一些场景下还是需要打包二进制的。 e.gprogram// app.py from flask import Flask import service.user import service.algorithm app = Flask(__name__) @app.route("/") def hello(): return {"status": "UP"} @app.route(&quo..

更多
loading..
nodejs

Nodejs HTTP Server

Nodejs HTTP Server背景最近有一个想法是做一个图片小工具,这个小工具可以给图片提供一些常用或不常用的图片做转换 又一次的 我想到了 cloudflare worker,能白嫖一些计算资源, 可用性又不用担心。(实际上是我想的太美了)。 所以我先想到nodejs上是不是有一些现成的图像处理库,找了一下 还真有 而且API用起来很舒服(Sharp 后续会单开文章来写)。 接下来就需要一个 server 来提供服务,把输入输出都对接好 就完事了。 然而并不是这么work的。 Cloudflare Worker并不支持Nodejs 只是说恰好支持某些库而已,在这里查找可以在worker上工作的库(实际上我认为就是用了Nodejs但是阉割了非常多的API 防止滥用) 并且 express 也不在支持范..

更多
Java

从Java 8 到 17(LTS) 新增的那些关键字

从Java 8 到 17(LTS) 新增的那些关键字Java 9modules 对于 个人开发者 意义其实没有那么大,仍然是给框架作者提供的更多控制,更不像是模块化,而是像权限控制。 你可以把更大的功能做成“模块”,仅暴露需要被用到的“接口” module声明模块 e.g: module myModuleName { // all directives are optional } requires标注需要用到的包 module my.module { requires module.name; } exports“公开”可以被调用的包 module my.module { exports com.my.package.name..

更多
loading..
mysqlspringreactive

Full Spring Reactive

Full Spring Reactive背景之前写的一些项目都是仅用了一半的Reactive写法,到数据库这边就还是传统的写法 因为现在最常用的就是 MyBatis,然而并不支持,甚至说 driver 都很难支持的全。 不过踩坑无数 终于写了个完整的Reactive应用并在生产环境发布了。 (偷偷说一句 即使是全reactive,也不会带来什么性能提升) 总结坑点 mysql driver支持太差。 数据库API为: r2dbc R2dbcRepository的字段映射 SQL Statement 参数绑定 模版引擎的返回处理 请求参数处理 多步聚合处理 多线程 Flux Reactive 消费 doOn 系列勾子 Reactive1. MySql Driver驱动还是非关系性数据库比较好,mongodb..

更多
12