avatar
Articles
17
Tags
0
Categories
0

HOME
GIST
GITHUB
Hexo
HOME
GIST
GITHUB

Hexo

发现@babel/plugin-transform-react-jsx一个问题
Created2023-12-12
前几天为fre这个库搭建启动环境时遇到一些问题,首先看我的webpack 配置。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253const path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { mode: "development", entry: './src/index.jsx', devtool: 'source-map', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), }, ...
如何给langchainjs添加代理
Created2023-12-12
langchain这个框架是个好东西,本以为又是python的天下,没想到竟然有js版本,不过openai毕竟是国外的嘛,能否配置代理对我们这些渴望高质量服务的国人来说至关重要。 你要是用clash,这个软件有个虚拟网卡模式,开启后,电脑上的所有流量都会走这个虚拟网卡,但是毕竟是国人,老是开虚拟网卡有点不方便。 langchainjs更新很快,老版本可以用以下的方式配置proxy。 12345678910111213141516171819const llm = new OpenAI( { openAIApiKey: '', // modelName: 'gpt-3.5-turbo', modelName: 'text-davinci-003', // modelName: 'code-davinci-002', // modelName: 'code-davinci-001', // modelName: &# ...
如何使用nextjs实现上传pdf
Created2023-12-09
之前研究gpt4-pdf-chatbot-langchain这个项目,觉得挺有意思,竟然可以让chatgpt去读一本书,还是js写的。不过这项目有一点不方便,他需要用nodejs解析pdf,然后用openai提供的api把api向量化,接着在浏览器里才能基于这本书的内容向chatgpt提问。 然后我就想能不能把所有的操作入口都放在浏览器上,在浏览器上上传一个pdf,然后后端拿到上传的pdf,解析pdf,向量化,后面的操作和原项目一样。基于这样的想法,我写了以下的代码。 1234567891011121314151617181920//pages/index.tsxfunction App(){ const onFileUplload = e=>{ const file = event.target.files?.[0] const formData = new FormData() formData.append('file', file) return fetch(' ...
RN通过Android Intent打开媒体及播放!
Created2023-11-21
最近在阅读lx-music-mobile的代码,原作者代码写的很好,我在他的基础上增加了下载与本地音乐播放功能,原作者不实现肯定有他的考虑,我恰好有这个需求而已。 以上功能完成以后,我就想着能不能进一步直接在文件管理器中用lx.music打开某音乐,经过一番研究,发现在AndroidManifest.xml加上这些代码: 123456789101112131415<activity> //... <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.APP_MUSIC"/> <data android:m ...
手写promise
Created2023-06-21
Promise这个构造函数与别的不一样,尽管平时使用时比较爽,但是站在函数设计者的角度来看就比较怪异。首先构造函数的参数是个函数(executor),这个函数的两个参数resolve与reject又是两个函数,且是在Promise构造函数内部定义的,调用executor时需要作为executor的参数。 Promise的then方法的参数又是两个函数(onFulfilled与onRejected),这两函数会在该promise实例resolve或者reject时分别调用,且then方法还可以链式调用与值穿透。看起来很像一堆函数在互相作用,但Promise的用法却是面向对象的方式,所以容易让人困惑。 先不考虑then方法的链式调用与值穿透,实现一个简易版的promise。 一个普通的不支持链式调用的promise123456789101112131415161718192021222324252627282930313233343536373839404142function MyPromise(executor){ // 这个executor便是我们new Promise时传 ...
webpack常见loader工作原理
Created2023-05-08
file-loader与url-loader这俩loader就是纸老虎,曾经老有面试问这俩loader的区别,每次都去记😂,其实只要看看他俩的源码就明白了。先来一个简单的例子 12345678910111213141516171819202122232425//webpack.config.jsrequire('@babel/register')({ presets: ['@babel/preset-env']});module.exports = { entry: './src/index.js', //... module:{ rules:[ { test: /\.(png|jpe?g|gif)$/i, use: [ { loader: path.resolve ...
整理react里面那些容易让人混淆的概念 😂
Created2023-04-19
react为什么要引入fiber在解释为什么之前,先来说一说react16之前组件的更新过程。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950class Child extends React.Component { componentWillMount() { console.log("Child componentWillMount"); } render() { console.log("Child render"); return <div>child</div>; } componentDidMount() { console.log("Child componentDidMount"); } componentWillReceiveProps() &# ...
学习ahooks之useLongPress
Created2023-03-17
缘由可能是小程序api用多了,前几天写网页有个需求是监听长按,竟然有点生疏,幸好ahooks实现了useLongPress这个hook。 代码原版代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125const touchSupported = isBrowser && // @ts-ignore ('ontouchstart' in window || (window.DocumentTouch && document instanceof Docu ...
亮度、对比度、饱和度的区别
Created2023-03-06
前言开始之前先看网上对这三者的解释。 亮度、对比度和饱和度是图像处理中的三个基本概念。亮度是指图像的明亮程度,对比度是指图像中最亮和最暗部分之间的差异,饱和度是指图像中颜色的鲜艳程度。一般来说,对比度越大,图像越清晰醒目,色彩也越鲜明艳丽;而对比度小,则会让整个画面都灰蒙蒙的。 看这些文字并不能完全理解这三者,反而容易混淆,看起来这三者都能调整画面的明暗,但又有所不同。 作为一个程序员,代码语言是比人言更加精确的。既然理解不了文字,就看代码如何实现。 亮度1234567891011function adjustBrightness(imageData, brightness) { const data = imageData.data; for (let i = 0; i < data.length; i += 4) { data[i] = data[i] * brightness; data[i + 1] = data[i + 1] * brightness; data[i + 2] = data[i + 2] * brightness ...
百度云盘to阿里云盘
Created2022-08-07
前言2T百度云终究还是满了,常年的日积月累,删又不知道该该删啥。阿里云盘最近兴起,如果能把部分文件移到阿里云盘里就好了,由于众所周知的原因,百度与阿里的数据是不可能相通的,也不可能会出现官方的xxx迁移工具之类的。所以,这又是一个八仙过海各显神通的活,大家的思路普遍都是先把百度云盘里的资料下载下来,然后再上传到阿里云,这让我想起来宋丹丹的一句名言,把大象装冰箱分几步… 思路是这样没错,但是大神的做法跟普通人就是不一样,可以参考这个 帖子。本文介绍的是用webdav的那个。 正文本文只适用于windows操作系统。 整体的流程就是帖子里说的1、2、3、4、5,不过作为一个务实的搬运工,实际操作过程中有跟帖子不一样的地方。 第一处: 作者一笔带过…。正常操作是这样的,找到你电脑的“启动或关闭windows功能”,然后找到Hyper-V选项,勾上。 有些人可能找不到Hyper-V选项(比如我),这种情况需要单独安装Hyper-V,参考这篇 . 在实际操作过程中发现Hyper-V.cmd下载资源很慢,所以最好加上这一句 1netsh winhttp set proxy http://127 ...
12
avatar
likaiqiang
Articles
17
Tags
0
Categories
0
Follow Me
Announcement
This is my Blog
Recent Post
发现@babel/plugin-transform-react-jsx一个问题2023-12-12
如何给langchainjs添加代理2023-12-12
如何使用nextjs实现上传pdf2023-12-09
RN通过Android Intent打开媒体及播放!2023-11-21
手写promise2023-06-21
Archives
  • December 20233
  • November 20231
  • June 20231
  • May 20231
  • April 20231
  • March 20232
  • August 20221
  • February 20222
Info
Article :
17
UV :
PV :
Last Push :
©2020 - 2023 By likaiqiang
Framework Hexo|Theme Butterfly