gensim 安装 Python Python 版本需要在 3.12 以下 下载 python uv python install 3.12 创建虚拟环境 uv venv --python 3.12 激活虚拟环境 .venv\Scripts\activate gcc gcc 版本需要在 8.4 以上 查看当前 gcc 版本 gcc --version 升级 gcc 版本 在 下载 msys2 安装 msys2 打开 msys2 终端,更新包数据库和基础系统 pacman -Syu 关闭终端并重新打开,安装 gcc pacman -S mingw-w64-x86_64-toolchain 回车安装整个工具链 配置环境变量 D:\msys64\mingw64\bin 其他问题 error: Unable to find a compatible Visual Studio installation 安装 Visual Studio 2019,并确保安装了 C++ 桌面开发工作负载。 如果依旧出现问题,检查是否配置命令行工具的编码方式,将 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 下的 Autorun 字段设置为空
gensim 安装 Python Python 版本需要在 3.12 以下 下载 python uv python install 3.12 创建虚拟环境 uv venv --python 3.12 激活虚拟环境 .venv\Scripts\activate gcc gcc 版本需要在
今天,我发现在 Cloudflare 平台上部署的项目 构建失败,错误信息如下: Error: Failed to publish your Function. Got error: Uncaught Error: No such module "node:async_hooks". imported from "bundledWorker-0.0597812982490018.mjs" 经过查阅资料,我发现需要设置 wrangler 的兼容日期和兼容性标志。配置完成后,设置示例如下所示:
今天,我发现在 Cloudflare 平台上部署的项目 site-status 构建失败,错误信息如下: Error: Failed to publish your Function. Got error: Uncaught Error: No such module
先做了几道题目,然后开始面试 题目 完善代码 // 将6插入到5后面 使得arr变成 [1,2,3,4,5,6,7,8,9] const arr = [ 1,2,3,4,5,7,8,9] 按照 id 去重,完善 dedupById 方法,具有同一个 id 的记录只保留第一次出现的记录 const arr = [ { id: 1, name: '张三' }, { id: 2, name: '李四' }, { id: 1, name: '王五', age: 18, … }, … ] function dedupId(arr) { } 手写 tab 切换 // 不用写css样式,把基本的html结构和js逻辑写出就可以 // 比如进入腾讯新闻应用 有若干个频道: 农业频道、军事频道、科技频道 // 用户点击农业频道,可以预览农业频道下方的内容,点击军事频道同理 // 点击到哪个频道,对应频道标题高亮(标题字体颜色变为红色)以提醒用户现在处于哪个频道 <template> <div> </div> </template> <script setup> const list = ref([ { title: '农业频道', content: '农业内容' }, { title: '军事频道', content: '军事内容' }, {title: '科技频道', content: '科技内容' }, ]) </script> <style> </style> 拼写 sql // user 表有 name, id, mobile 等属性 // goods表有 name, id, user_id等属性 // 查出goods表中的商品以及对应的用户名称 打印输出日志 new Promise((resolve, reject) => { console.log(1) setTimeout(() => { resolve(2) reject(4) console.log(5) }, 1000) console.log(3) }).then(res => console.log('resolve', res)).catch(err => console.log('error', err)) console.log(7) 接口请求:完善下述的 submit 函数 和 submit1 <template> <div> <button @click="submit"> </button> </div> </template> <script setup> // 场景介绍: 当用户点击当前页面button时提交请求(requestA、requestB)并且跳转下一页面 // // A和B request 请求为一个接口请求,不需要补充,调用效果会过若干秒后接口请求成功或者失败 // 失败后会throw Error const requestA = async () => { } // A和B request 请求为一个接口请求,不需要补充,调用效果会过若干秒后接口请求成功或者失败,并且返回后台数据 const requestB = async () => { … } const jumpToC(){ router.push('/C') } const submit = async() => { // 补充sumit 效果, A 和B 接口请求成功后跳转下一页面jumpToC, A B接口不要求调用顺序 } const submit1 async () => { // 补充sumit1 效果, A 和B 接口请求无论成功与否,都跳转下一页 A B接口不要求调用顺序 } const router = useRouter() const jumpToC = () => { router.push('./c') } </script> 手写 promisefy, 转换 callback 形式为 promise 形式 type Payload = { url: string; data: any; success: (res: any): void; fail(reason: any): void } functino Ajax(payload: Payload) { } // 正常调用ajax获取接口数据 Ajax({ url: '', method: 'post', success(data) { console.log(data) } }) // 提供一个辅助函数将接受Payload类型参数的函数转换成Promisefy形式 function promisefy () { } // 借助promisefy 可以向下面形式一样调用Ajax promisefy(Ajax)({ url: '', method: 'post' }).then(data => { }) 面试 解释一下打印输出日志部分代码是怎么运行的? 为什么要找前端实习? 什么时候可以入职? 怎么解决前后端连接时的跨域问题? vue 中 watch 和 computed 有什么区别? watch 和 watch effect 有什么区别? vue3 中 ref 和 reactive 有什么区别? vue3 的性能为什么会比 vue2 好? 通过什么渠道学习的 vue?
先做了几道题目,然后开始面试 题目 完善代码 // 将6插入到5后面 使得arr变成 [1,2,3,4,5,6,7,8,9] const arr = [ 1,2,3,4,5,7,8,9] 按照 id 去重,完善 dedupById 方法,具有同一个 id 的记录只保留第一次出现的记录
在过去一年中,你学习并应用了哪些新的前端技术或工具?请详细描述你学习的过程及其在项目中的应用效果。 最近一段时间你尝试了哪些 AI 工具加速你的前端开发工作流?简述你对最新的 AI 编程工具和平台的了解。 请分享一个你觉得很棒的开源项目,并描述你对它的理解。 你是否在项目中集成过第三方支付服务?请描述一个具体的集成过程,包括遇到的挑战和解决方案。 如何配置和优化静态资源的 CDN 加载?请描述你的尝试经历,从选择 CDN 提供商到上线部署和效果评测的全流程。
在过去一年中,你学习并应用了哪些新的前端技术或工具?请详细描述你学习的过程及其在项目中的应用效果。 最近一段时间你尝试了哪些 AI 工具加速你的前端开发工作流?简述你对最新的 AI 编程工具和平台的了解。 请分享一个你觉得很棒的开源项目,并描述你对它的理解。
最近 DIYgod 大佬的项目 Follow 即将迎来公测,忍不住又折腾起了 RSS。 不过,目前 rsshub.app 已经被墙,而我又不想自己动手部署服务。因此,这里就得请出我们的大善人——Cloudflare 来帮忙了。 直接上代码: export default { async fetch(request) { const proxyList = [ "https://rsshub.app", ]; const cfWorkerHost = new URL(request.url).origin; // 随机选择一个代理 const proxy = proxyList[Math.floor(Math.random() * proxyList.length)]; // 替换为代理地址 const url = request.url.replace(cfWorkerHost, proxy); return fetch(url); // return new Response(JSON.stringify({ cfWorkerHost, proxy, url }), { // headers: { "Content-Type": "application/json" }, // }); } }; proxyList 中的地址可以在 中获取。
最近 DIYgod 大佬的项目 Follow 即将迎来公测,忍不住又折腾起了 RSS。 不过,目前 rsshub.app 已经被墙,而我又不想自己动手部署服务。因此,这里就得请出我们的大善人——Cloudflare 来帮忙了。 直接上代码: export default { async
自从 WARP 被墙后,我们无法访问纯 IPv6 的服务器,同时 serv00 被墙后也无法通过 SSH 连接。为了解决这些问题,我们可以部署一个 WebSSH 首先,fork 该仓库: 接下来,修改 webssh/settings.py 文件,在 default 后面添加 utf-8 以防止代码输出中文乱码 define('encoding', default='utf-8', help='''The default character encoding of ssh servers. Example: --encoding='utf-8' to solve the problem with some switches&routers''') define('version', type=bool, help='Show version information', callback=print_version) 在 koyeb 上部署 选择刚才 fork 的仓库,并调整地区为 Washington, D.C 覆盖 Run command python run.py --xsrf=False --xheaders=False --origin='*' --debug --delay=6 修改端口为 8888 ,然后点击部署 使用 Cloudflare Workers 进行反代 需要将代码中的 app.koyeb.com 替换为 Koyeb 提供的域名 addEventListener('fetch', (event) => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { let url = new URL(request.url); // 将 "app.koyeb.com" 替换为您的 Koyeb 应用域名 const targetHostname = 'app.koyeb.com'; const workerHostname = request.headers.get('host'); if (url.hostname === workerHostname) { url.hostname = targetHostname; let newRequest = new Request(url, request); return fetch(newRequest); } else { return new Response('Not Found', { status: 404 }); } } 效果图
自从 WARP 被墙后,我们无法访问纯 IPv6 的服务器,同时 serv00 被墙后也无法通过 SSH 连接。为了解决这些问题,我们可以部署一个 WebSSH 首先,fork 该仓库: huashengdun-webssh 接下来,修改 webssh/settings.py 文件,在
主要遇到以下两个问题 一个是在安装时报错 Problem running post-install step. Installation may not complete correctlyThe database cluster initialisation failed. 一个是在初始化时报错 The program "postgres" was found by "initdb" but was not the same version as initdb. 出现问题的原因是曾经修改过 cmd 的编码格式 解决步骤: win+R 输入 regedit 找到 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 将 Autorun 置空 重新安装 Postgresql 参考:
主要遇到以下两个问题 一个是在安装时报错 Problem running post-install step. Installation may not complete correctlyThe database cluster initialisation failed. 一个是在初始化时报错
项目地址 部署步骤 安装依赖 npm install -g wrangler npm install hono 创建 D1 数据库:web_analytics 数据库名称为 web_analytics ,与 package.json 内保持一致 npx wrangler d1 create web_analytics 运行后控制台显示 ✅ Successfully created DB 'web_analytics' in region APAC Created your new D1 database. [[d1_databases]] binding = "DB" # i.e. available in your Worker on env.DB database_name = "web_analytics" database_id = "xxx" 修改 wrangler.toml 中的 database_id 初始化 D1 数据库的表结构 npm run initSql 绑定自定义域名 routes = [{ pattern = "analytics.xbxin.com", custom_domain = true }] 发布 npm run deploy 使用 <template> 本页访问人次:<span>{{webviso.uv}}</span><br> 本页访问人数:<span>{{ webviso.pv }}</span> </template> <script setup lang="ts"> import { ref, onMounted } from 'vue'; const webvisoLoaded = ref(false); const webviso = ref({ uv: '', pv: '', }); const loadWebviso = async () => { const apiUrl = 'https://analytics.xbxin.com/api/visit' const requestData = { url: window.location.pathname, hostname: window.location.hostname, referrer: document.referrer, pv: true, uv: true, } try { const response = await fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(requestData), }) if (response.ok) { const data = await response.json(); webviso.value = data.data; } else { console.error('Error loading analytics data:', response.statusText); } } catch (err) { console.error('Error loading analytics script:', err); } } onMounted(() => { loadWebviso(); }); </script>
项目地址 github.com GitHub - yestool/analytics_with_cloudflare: a simple web analytics use
手动添加 Docker 源 假设使用的是 Ubuntu 22.04(代号 jammy ) sudo vim /etc/apt/sources.list.d/docker.list 添加以下内容 deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable 添加 Docker 的 GPG 密钥 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 可以使用 lsb_release -cs 查看系统发行版本
手动添加 Docker 源 假设使用的是 Ubuntu 22.04(代号 jammy) sudo vim /etc/apt/sources.list.d/docker.list 添加以下内容 deb [arch=amd64
首先从官网下载 finalshell(好像有一个 ,不知道是不是作者整的,安装包是 msi 格式的,也不知道和原版有啥区别) 安装后找出 finalshell.jar,使用下面的命令启动,后面调试要用 java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar finalshell.jar 启动后点左下角,登录时账号密码随便输入,提示密码错误不用管,只需要打开离线激活就可以看到当前生成了机器码 123@acb33a2719acb54e 新版的激活算法就是:keccak384(机器码 + 高级版/专业版后缀)[12:28],最后给个 python 脚本(python 需要安装 pycryptodome 库,可能会出错,参考 ): from Crypto.Hash import keccak from Crypto.Hash import MD5 def md5(msg): hash_obj = MD5.new(msg) return hash_obj.hexdigest() def keccak384(msg): hash_obj = keccak.new(data=msg, digest_bits=384) return hash_obj.hexdigest() if __name__ == '__main__': code = input('输入机器码: ') print('版本号 < 3.9.6 (旧版)') print('高级版:', md5(f'61305{code}8552'.encode())[8:24]) print('专业版:', md5(f'2356{code}13593'.encode())[8:24]) print('版本号 >= 3.9.6 (新版)') print('高级版:', keccak384(f'{code}hSf(78cvVlS5E'.encode())[12:28]) print('专业版:', keccak384(f'{code}FF3Go(*Xvbb5s2'.encode())[12:28])
首先从官网下载 finalshell(好像有一个 新域名,不知道是不是作者整的,安装包是 msi 格式的,也不知道和原版有啥区别) 安装后找出 finalshell.jar,使用下面的命令启动,后面调试要用 java