网站首页 关于作者 Bee 的所有文章

  • 快手无人播剧最新玩法,实测24小时不违规不封号,实现睡后收入

    项目介绍 通过快手直播伴侣加+OBS搭建24小时无人直播间(电视剧,电影,小品,动漫),挂载快手官方的磁力巨星任务来获取收益,操作非常简单,我们只需要提前准备好要播的素材,把OBS搭建好,再把我们的磁力巨星开通,通过技术来防止违规停播,封号等问题,迅速把流量拉起来,从而实现睡后收入! ...

    2024-04-06 赚钱项目 61
  • 9.9充了个会员,是怎么让我做到几天提现3000+的

    项目介绍 今天给大家带来的项目是【9.9充了个会员,是怎么让我做到几天提现3000+的】 课程目录 项目介绍 如何变现 实操教程及项目资料 这个项目超级简单,不单能省钱,还能轻松赚钱 ...

    2024-04-06 赚钱项目 57
  • 每月稳定变现3W高复购玄学项目,小白也能做没有任何限制 教程+话术

    项目介绍 给大家带来玄学项目的新玩法,以前人工测算在到现在的利用软件测算。经过我们实测,软件测算的结果比人工更加的详细,附带教程+营销话术分4个步骤教大家如何搭建自己的私域体系。...

    2024-04-06 赚钱项目 67
  • 人情世故影视解说,最新蓝海赛道,一分钟一条视频,多平台收益,轻松日入1000+

    项目介绍 大家都知道,酒桌文化是从古至今在中国一直流行的,大多数人都免不了跟上司领导打交道,因为有些话不能放到明面上去说,所以就衍生出了一些潜台词话语,而随着我们年龄的整长,从以前的不屑一顾到现在的逐帧学习,这就是大多数人的一个转变,而且,因为带有话题性,所有很多人也喜欢去视频下面评论,去讨论这种东西,讽刺也好,赞叹也罢,所以我们制作这种视频,这一切的行为都是对于我们引流变现起到了一个很好的作用,那么这是不是一个蓝海赛道呢,所有大家明白一点,这跟传统的解说是不一样的,传统解说是跟着视频内容走向,充当一个旁白角色,而我们这种类型所要做的,更多是去分析角色心理以及话中的潜台词,这无疑很大的增加了难度,所以,这并不会像传统解说那么泛滥,今天,我就给大家带来这个所谓“人情世故”视频的教学。...

    2024-04-06 赚钱项目 56
  • 视频号搬运玩法2.0!一个你意想不到的冷门玩法,小白都能日入四位数,思路打开,赚钱变得如此简单

    项目介绍 美女视频在哪个短视频平台都是很受欢迎的,因为哪个平台都不缺少S粉,今天我们要介绍的项目,就是通过搬运美女视频到视频号,加上一定的引导,吸引观众到评论区评论,我们赚取创作者分成计划的收益。我们要搬运的素材也是大家意想不到的,看完之后大家就会明白,原来思路打开了,赚钱会变得这么容易。 课程目录 项目介绍 账号准备 视频制作--实操 变现方式 ...

    2024-04-06 赚钱项目 67
  • 流量放大器,分享两款引流方法,抖音和Soul

    抖音公私域变现 注册抖音高权重号 设备选择和网络IP问题 抖音螺旋起号 抖音实战dou+独家玩法 打造高权重账号实操三大绝招 作品实操,剪辑的核心技术 如何做出一个爆款视频 运营抖音号的注意事项 有关孵化抖音的运营疑问 soul私域轰炸器 如何养出soul高权重账号 如何通过SEO裂变进行引流  在soul发布文案实现暴力引流! 引流实况展示 账号防封措施 ...

    2024-04-06 赚钱项目 67
  • 冷门赛道 纯AI搬砖玩法 单日收益800+ 快速拿结果 长期项目小白也能轻松上手!

    项目介绍 大家好,我是飞雪,全网同名飞雪创业记,今天分享的这个项目是公众号流量主项目,这个项目我们学员单人5个账号,月入5W+!很适合个人副业全职都可以,从23年到今年已经稳定运营一年了,最高收益单篇文章过万!通过开通公众号流量主,用Al工具写爆文批量发布在公众号,平台智能插入广告, 这样我们就会获取广告收益分成。利用微信平台新推出的“公域流量”推荐机制;流量主收益与广告获得更多曝光或直接点击,以此赚取收益;本次课程从项目原理,项目准备,选题素材,文库搭建,爆文公式拆解与学习,爆文实操演示与AI结果展示,项目雷点,红线和误区,全方位拆解和经验分享,希望能帮助到大家。 课程目录 项目原理 项目准备与工具 赛道选择和素材查找 实操AI指令和发文细节 搭建自己的文库及万能公式 爆文公式拆解与学习 爆文实操演示和AI写作 项目运营避坑 ...

    2024-04-05 赚钱项目 70
  • 制作热评图文或视频,快速涨粉接广告,实现月入过万

    项目介绍 大家好,我是一心,这次给大家带来的项目是制作热评图文或视频,快速涨粉接广告,实现月入过万。...

    2024-04-05 赚钱项目 55
  • 原始手法无脑搬运影视剧,单日收入300+,操作简单,几分钟生成一条视频,轻松过审核

    项目介绍 我们经常刷抖音、快手可以看到这样的作品,左下角有一个【影视|立即观看XX】这种类似的小程序,其实这就是挂载了短视频小程序进行变现。 这种原始搬运的手法,不需要复杂的操作,也不需要什么去重软件,只需要一个剪映就能在几分钟内产出一条短视频,并且还能轻松过审核,然后挂载小程序,进行变现,有一些朋友老是去盯着西瓜的那个中视频伙伴计划,如果你没有一定的创新和创作能力,中视频的收益还真不如直接搬运挂载的收益高。 课程目录 项目介绍 养号流程 如何寻找素材 项目实操 如何挂载小程序 ...

    2024-04-05 赚钱项目 53
  • 4月5日,星期五简报,60秒知晓天下事

    2024年4月5日,星期五,农历二月廿七,每天60秒知天下 1、青海茫崖市4日上午发生5.5级地震:有房屋裂缝,暂无人员伤亡报告;江西风雹灾害:已致7人死亡31.3万人受灾,直接经济损失4亿元; 2、台湾花莲强震:已致10死1099伤,705人受困,15人失联,累计余震达400次,全台七大晶圆厂损失百亿;国台办发声:愿提供救灾协助; 3、地震预警App收10元年费遭网友质疑,研究所回应:目前收费的仅限苹果系统; 4、广东东莞一所公助民办养老院凌晨发生火灾,已致3死10伤,死者均为老人,启用不足一月并曾组织消防演练; 5、山西保德一女司机驾驶奔驰车碾压两名孩子后逃逸,警方通报:造成两名儿童受伤,肇事司机已投案; 6、西安西京医院将猪肾移植至人体,移植肾已持续工作9天,在受者体内功能良好,正常产生尿液; 7、浙江义乌:对二孩、三孩家庭购买新房各补贴10万元、20万元;海南出台灵活就业人员缴存住房公积金新规:缴存比例最高24%; 8、“90后”男子控制87个账户炒一只股票,获利近1亿,证监会罚没2.7亿; 9、FIFA最新排名:国足保持世界第88位亚洲第13,阿根廷、法国与比利时依次位列世界前三; 10、世界年龄最大男子去世:享年114岁,其长寿秘籍是早睡每天一杯烈酒; 11、泰媒:泰国两派数千只猴子打群架,37只带头公猴被抓,帮派头目落网,泰政府表示:计划对猴群绝育; 12、日媒:日本福岛县近海域4日发生6.0级地震,东京等地有震感,无海啸危险,核电站暂无异常; 13、巴媒:巴西今年以来登革热死亡病例上升至1020人,病例总数超267万,已有10州及联邦区进入登革热卫生紧急状态; 14、外媒:伊朗两市军事总部遭恐怖袭击,已致11名伊朗士兵死亡,伊朗官员称18名恐怖分子已被全部击毙; 15、外媒:俄外交部称法国1500人的营级战术群或将4月入乌参战,法方对此暂无回应;芬兰与乌克兰签订双边安全协议,为期10年; 【每日金句】时间打磨完一些东西,也会留下一些东西,留下的,都是最好的。    ...

    2024-04-05 值得一看 78
  • uniapp Vue 使用 sip.js进行语音通话视频通话

    下载或者安装 sip.js 到 uniapp 项目,APP 端在 menifest.json 中配置麦克风权限 menifest.json 中 app 权限配置选中: android.permission.RECORD_AUDIO android.permission.MODIFY_AUDIO_SETTINGS sip.js 低版本 如 V0.13.0 版本的写法 注册 取消注册 呼叫 {{isInOut?inComingNumber:outGoingNumber}} 通话中... 呼入... 呼出... import * as sip from "@/common/js/sip-0.13.0.min.js" let ua; export default { name: "VoiceIntercom", props: {}, data() { return { configuration: {}, outGoingNumber: '02700002', baseUrl: 'web.domain.com', // sipurl格式: "sip:02700001@web.domain.com:7065", port: '7065', user: { number: '02700001', name: 'test', password: '123456' }, server: 'wss://web.domain.com:7067', currentSession: null, inComingNumber: null, isRegistered: false, isConnected: false, // 是否接通 isInOut: true, // true 被呼, false 呼出 } }, onLoad() { this.handleRegister() }, beforeDestroy() { this.handleUnRegister() }, methods: { // 登录 handleRegister() { this.configuration = { uri: `sip:${this.user.number}@${this.baseUrl}:${this.port}`, displayName: this.user.name, password: this.user.password, transportOptions: { wsServers: [this.server], traceSip: true }, } ua = new sip.UA(this.configuration) ua.on('registered', (resp) => { this.showTishi('【' + this.user.number + '】语音登录成功') this.isRegistered = true }) ua.on('registrationFailed', (resp) => { if (resp.statusCode == 503) { this.showTishi('【' + this.user.number + '】服务不可用') } else { this.showTishi('【' + this.user.number + '】语音登录失败:' + resp.reasonPhrase) } this.isRegistered = false console.log(resp, '语音登录失败') }) ua.on('unregistered', (response, cause) => { this.showTishi('【' + this.user.number + '】取消语音登录成功') console.log(response, cause, '取消语音登录') }) ua.on('invite', (session) => { this.currentSession = session this.inComingNumber = session.remoteIdentity.uri.user this.isInOut = true this.$refs.popup.open() this.$nextTick(() => { this.$refs.bell.$refs.audio.play() this.$refs.bell.$refs.audio.currentTime = 0 }) this.sessionEvent(session) }) ua.on('message', (message)=>{ console.log(message,'ua-message') }) ua.start() }, // 退出登录 handleUnRegister() { if (ua) { ua.unregister() this.isRegistered = false } }, // session 处理 sessionEvent(session) { session.on('rejected', () => { console.log('inComing挂断') }) session.on('cancel', () => { console.log('outgoing挂断') }) session.on('terminated', (message, cause) => { console.log(message, cause, 'session-terminated') if (cause == 'Rejected') { if (message.reasonPhrase == 'Decline') { this.showTishi('您的拨号暂时无人接听!') } else { this.showTishi('对方拒接了!') } } else if (cause == 'BYE') { this.showTishi('对方已挂机!') } else if (cause == 'Canceled') { this.showTishi('对方已取消!') } this.$refs.bell.$refs.audio.pause() this.$refs.popup.close() }) session.on('accepted', (resp) => { this.$refs.bell.$refs.audio.pause() this.isConnected = true console.log(resp, '接受了') }) session.on('trackAdded', () => { const pc = session.sessionDescriptionHandler.peerConnection const remoteStream = new MediaStream() pc.getReceivers().forEach((receiver) => { if (receiver.track) { remoteStream.addTrack(receiver.track) this.$refs.remoteAudio.$refs.audio.srcObject = remoteStream this.$refs.remoteAudio.$refs.audio.play() } }) }) session.on('bye', (resp, cause) => { console.log(resp, cause, 'session-bye') if ((resp && resp.method == 'BYE') || cause == 'BYE') { this.isConnected = false this.$refs.popup.close() this.$refs.remoteAudio.$refs.audio.pause() this.showTishi('【' + this.user.number + '】通话已结束!') } }) session.on('failed', () => { console.log('session-failed') }) }, // 接听 handleAccept() { const option = { sessionDescriptionHandlerOptions: { constraints: { audio: true, video: false } } } this.currentSession.accept(option) }, // 拒接 handleTerminate() { this.currentSession.terminate() this.$refs.popup.close() this.isConnected = false }, // 挂断 handleCacel() { if (this.isInOut) { this.currentSession.reject() } else { this.currentSession.terminate() } this.$refs.popup.close() this.isConnected = false }, // 拨打 handleCall(number) { number = this.outGoingNumber if (this.isRegistered) { this.isInOut = false const sipUrl = `sip:${number}@${this.baseUrl}:${this.port}` this.currentSession = ua.invite(sipUrl, { sessionDescriptionHandlerOptions: { constraints: { audio: true, video: false } } }) this.$refs.popup.open() this.sessionEvent(this.currentSession) } else { this.showTishi('请先登录语音用户') } }, showTishi(title){ uni.showToast({ title: title, icon: 'none' }) }, } } .container { font-size: 30rpx; } .top-box { padding: 30rpx; display: flex; } .popup-box { background: #ffffff; width: 80vw; padding: 40rpx; border-radius: 20rpx; line-height: 80rpx; } .flex-box { display: flex; justify-content: space-around; .uni-tag { font-size: 30rpx; padding: 16rpx 28rpx; } } .fs-36{ font-size: 36rpx; font-weight: bold; } sip.js 高版本如 V0.21.2 用法(参数同上,只列出 methods 里的部分) import { UserAgentOptions, UserAgent, Registerer, Invitation, Inviter, Session, SessionState, InvitationAcceptOptions, InviterOptions, Messager, URI, RegistererState, } from '@/common/js/sip-0.21.2.min.js' let userAgent, registerer; const target = UserAgent.makeURI(`sip:${this.outGoingNumber}@${this.baseUrl}:${this.port}`); methods: { handleRegister() { const uri = UserAgent.makeURI(`sip:${this.user.number}@${this.baseUrl}:${this.port}`) if(!uri){ console.log('创建URI失败') } const transportOptions = { server: this.server } const userAgentOptions = { authorizationUsername: this.user.number, authorizationPassword: this.user.password, displayName: this.user.name, transportOptions, uri, delegate: { onInvite } } userAgent = new UserAgent(userAgentOptions) registerer = new Registerer(userAgent) userAgent.start().then(()=>{ registerer.register({ requestDelegate: { onReject: (resp)=>{ console.log(resp, 'onReject') }, onAccept: (resp)=>{ console.log(resp, 'onAccept') }, onProgress: (resp) => { console.log(resp, 'onProgress') }, onRedirect: (resp) => { console.log(resp, 'onRedirect') }, onTrying: (resp) => { console.log(resp, 'onTrying') }, } }).catch((e: Error) => { console.log(e, "Register failed") }) }).catch((err:any)=>{ console.log(err,'start-err') }) registerer.stateChange.addListener((newState)=>{ switch (newState) { case RegistererState.Unregistered: console.log('退出登录') break; case RegistererState.Registered : break; case RegistererState.Initial : console.log('语音用户登录Initial') break; case RegistererState.Terminated : console.log('语音用户登录Terminated') break; } }) function onInvite(invitation){ this.currentSession = invitation this.inComingNumber = invitation.remoteIdentity.uri.user this.$refs.popup.open() invitation.stateChange.addListener((state)=>{ this.sessionStateEvent(state, invitation) }) } } handleAccept(){ let constrainsDefault = { audio: true, video: false, } const options = { sessionDescriptionHandlerOptions: { constraints: constrainsDefault } } this.currentSession.accept(options) this.isConnected = true } handleReject(){ this.currentSession.reject() this.$refs.popup.close() } sessionStateEvent(state, session){ switch(state){ case SessionState.Initial: console.log('SessionState.Initial') case SessionState.Establishing: console.log('SessionState.Establishing') break; case SessionState.Established: console.log('SessionState.Established') this.isConnected = true this.setupRemoteMedia(session) break; case SessionState.Terminating: console.log('SessionState.Terminating') break; case SessionState.Terminated: console.log('SessionState.Terminated') this.clearupMedia(session) break; } } setupRemoteMedia(session){ const remoteStream = new MediaStream() // console.log(session.sessionDescriptionHandler, 'sessionDescriptionHandler') session.sessionDescriptionHandler.peerConnection.getReceiver().forEach((receiver)=>{ if(receiver.track){ remoteStream.addTrack(receiver.track) } }) this.$refs.remoteAudio.$refs.audio.srcObject = remoteStream this.$refs.remoteAudio.$refs.audio.play() } clearupMedia(session){ if(this.isCallIn){ if(session.isCanceled){ console.log('对方已挂机') } }else{ if(!session.isCanceled){ // console.log('对方已挂机') } } this.$refs.remoteAudio.$refs.audio.srcObject = null this.$refs.remoteAudio.$refs.audio.pause() this.endCall() } handleCall(){ this.isCallIn = false this.$refs.popup.open() const inviterOptions = { sessionDescriptionHandlerOptions: { constraints: { audio: true, video: false } } } if(target){ const inviter = new Inviter(userAgent, target, inviterOptions) this.currentSession = inviter inviter.invite({ requestDelegate: { onReject: (resp)=>{ console.log(resp, 'inviter-onReject') if(resp.statusCode == 500){ console.log('对方不在线') }else{ console.log('对方拒接了') } }, onAccept: (resp)=>{ console.log(resp, 'inviter-onAccept') }, onProgress: (resp) => { console.log(resp, 'inviter-onProgress') }, onRedirect: (resp) => { console.log(resp, 'inviter-onRedirect') }, onTrying: (resp) => { console.log(resp, 'inviter-onTrying') }, } }) inviter.stateChange.addListener((state)=>{ this.sessionStateEvent(state, inviter) }) } } handleURegister(){ if(userAgent){ this.isRegistered = false registerer.unregister() } } sendMessage(){ if(target && this.isRegistered){ const messager = new Messager(userAgent, target, '你好') messager.message() } } endCall(){ this.isConnected = false this.$refs.popup.close() switch(this.currentSession.state){ case SessionState.Initial: case SessionState.Establishing: if(this.currentSession instanceof Inviter){ // incoming session this.currentSession.cancel() }else{ // outgoing session this.currentSession.reject() } break; case SessionState.Established: this.currentSession.bye() break; case SessionState.Terminating: break; case SessionState.Terminated: console.log(SessionState,'Terminated-endCall') break; } } } APP模式下检测麦克风权限,permission.js可从插件市场直接下载,使用页面import引入。 getPermission(){ let env = uni.getSystemInfoSync().platform if (env === 'android') {permission.requestAndroidPermission('android.permission.RECORD_AUDIO').then((e) => { if (e === -1) { uni.showToast({ title: '您已经拒绝录音权限,请在应用设置中手动打开', icon: 'none', }) } else if (e === 0) { uni.showToast({ title: '您拒绝了录音授权', icon: 'none', }) } else if (e === 1) { console.log('已授权') } else { uni.showToast({ title: '授权返回值错误', icon: 'none', }) } }).catch((err) => { uni.showToast({ title: '拉起录音授权失败', icon: 'none', }) }) } else if (env === 'ios') { if (permission.judgeIosPermission("record")){ console.log('已授权') }else{ uni.showToast({ title: '您拒绝了录音授权,请在应用设置中手动打开', icon: 'none', }) } } } ...

    2024-04-05 技术教程 192
  • 【MySQL】数据库排查慢查询、死锁进程排查、预防以及解决方法

    MySQL数据库排查慢查询、死锁进程及解决方法 一、排查慢查询 1.1检查慢查询日志是否开启 1.1.1使用命令检查是否开启慢查询日志: SHOW VARIABLES LIKE 'slow_query_log';   如果是 Value 为 off 则并未开启 1.1.2开启并且查看慢查询日志: MySQL提供了慢查询日志功能,可以记录所有执行时间超过long_query_time秒的查询语句,通过分析这些慢查询可以找到数据库性能瓶颈。 启用慢查询日志,在my.cnf中添加配置: slow_query_log=1 long_query_time=1 #修改记录慢查询的阈值,默认为10s log-slow-queries=/路径/slowquery.log #slowquery.log日志文件的路径 使用mysqldumpslow分析慢查询日志,找出真正的慢查询: mysqldumpslow -s t /路径/slowquery.log 根据慢查询结果分析数据库索引使用情况、SQL调优空间等。 1.2 使用EXPLAIN来分析SQL语句的执行计划 主要步骤如下: 选择需要分析的SQL语句。 在SQL语句前添加EXPLAIN关键字,例如: EXPLAIN SELECT * FROM table WHERE condition; 执行查询。EXPLAIN不会真正执行语句,只是展示其执行计划。 查看结果集。EXPLAIN查询结果将是一张表格,包含以下重要列:   id: SELECT的步骤序列,从上到下执行。id值从上到下为访问顺序,上层依赖下层。 select_type: SELECT类型,如SIMPLE或PRIMARY。 简单为PRIMARY或SIMPLE查询较好,JOIN等复杂嵌套查询效率较低。 table:读取的数据源。 type:连接类型或访问类型,如ALL或RANGE。ALL类型效率最低,需要全表扫描;使用索引类型为CONST、eq_ref、ref、range效率较高。 possible_keys:可能使用的索引。若为空,说明SQL没有利用索引,需添加索引。 key:实际使用的索引。实际使用的索引名。若使用不到索引,表明优化空间大。 key_len:使用的索引最大长度。 索引长度短效率高,避免过长索引。 rows:预估需要读取的行数。数值越小性能越好,多表JOIN联合查询数值过高需优化提升性能。 filtered:过滤条件生效率。比率越高过滤效率越好,能有效减少数据读取量。 根据结果分析SQL访问数据的方式及性能瓶颈点,如是否利用索引、表连接方式等。从而优化SQL语句。多次查询对比验证是否效果明显。 二、检测死锁 使用show processlist命令查看当前请求,锁等待(锁类型)大于0的为死锁进程   找到对应的阻塞操作的进程id 使用kill强制结束死锁进程 KILL ; 分析死锁原因,修改sql或导致死锁的业务代码 三、优化建议 添加合理的索引提高查询效率 使用explain分析查询执行计划,查询是否走索引 控制事务块大小,减小锁定范围 可以将一大批次的操作拆分为多个较小的事务,从而减小每个事务持有锁的范围,降低其他事务被锁定的可能性。 调整事务 isolation level,减少锁冲突 可以将事务级别调整为较宽松的读已提交(READ COMMITED)或REPEATABLE READ等级。这些级别对锁的要求不如串行化等级严格,可以减少冲突。 优化sql,减少回表次数等 如减少排序、执行多个小查询代替一个大查询、利用索引更好地检索数据等,可以降低数据库磁盘的IO操作,同时锁定的时间也会缩短。 增加硬件资源(CPU、内存等)对冲突几率更低 总体上,通过控制事务粒度、隔离级别和SQL优化,可以有效降低数据库锁冲突的可能性,提高并发处理能力。这些措施都值得尝试,看是否可以带来可观的优化空间 ...

    2024-04-05 技术教程 194
  • 前端开发:Vue3提示警告Failed to resolve component:XXX If this is a native custom element… 的解决方法

    前言 在前端开发中使用Vue的开发者都知道,Vue目前已经以Vue3.0为基础版本了,也就是说Vue3.0已经成为主流版本了。还在只用Vue2.0开发没有使用Vue3.0的开发者要注意了,要抓紧时间熟悉和了解Vue3以上的相关语法和知识点了,迫在眉急。本篇博文来分享一下,关于在使用Vue3的时候遇到的一个提示警告错误,虽然不复杂,但是这是一个比较常见且共性的问题,分享出来记录一下,方便以后查阅使用。 警告提示 虽然现在Vue3为基础版本,但是对于熟悉使用Vue2的开发者来说,有些写法还没有调整过来,比如本文要分享的警告提示在Vue2不会有警告,但是在Vue3就会有警告,下面分享一下笔者在开发过程中遇到的相似问题提示的汇总,虽然有三个不同的组件警告提示,其实是属于同一类的问题,具体警告信息合集如下所示:   1、 [Vue warn]: Failed to resolve component: van-loading If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.   at  ...

    2024-04-05 技术教程 156
  • Excel如何将FILTER函数筛选结果多余的错误值去掉?

    Excel如何将FILTER函数筛选结果多余的错误值去掉? 很多同学常用WPS处理表格数据,再用WPS表格提取数据的时候有一个很好用的函数Filter函数,它可以自动提取符合条件的数据,操作起来方便快捷。 但是如果我们所选择的区域太大,可能筛选结果会出现错误值,那么如何将FILTER函数筛选结果多余的错误值去掉? 推荐方法如下: =IFERROR(INDEX(FILTER(表!$A:$E,表!$E:$E="Kirin博客"),ROW(A1),COLUMN(A1)),"") 先用index函数和row、column函数把处理结果转换一下,然后加iferror函数将错误值隐藏。 大家可以尝试一下,有问题欢迎提问。有更好的方法可以留言补充,谢谢!   ...

    2024-04-04 技术教程 130
  • Excel中利用Filter函数进行多条件筛选数据的2种方法

    Excel中如何利用Filter函数进行多条件筛选数据? 很多同学常用WPS处理表格数据,再用WPS表格提取数据的时候有一个很好用的函数Filter函数,它可以自动提取符合条件的数据,操作起来方便快捷。但是在Excel的Filter函数介绍中只介绍了单条件筛选数据的方法,那我们在处理数据过程中,如果遇到想要通过多条件去筛选数据,那么改如何操作? 下面就给大家讲一下Excel中利用Filter函数进行多条件筛选数据的2种方法: 1、FILTER函数,多个条件筛选(且条件) 通用公式: =FILTER(结果值,(查找列1=查找值1)*(查找列2=查找值2)) 如果还有3个条件,就再次的相乘即可! 2、FILTER函数,多个条件筛选(或条件)   通用公式: =FILTER(结果值,(查找列1=查找值1)+(查找列2=查找值2)) 如果还有3个条件,就再次的相加即可! 大家可以尝试一下,有问题欢迎提问。有更好的方法可以留言补充,谢谢!...

    2024-04-04 技术教程 118
  • CloudDrive官网/CloudDrive下载地址 云盘本地挂载软件

    CloudDrive是什么?CloudDrive是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 1、CloudDrive是一个全方位的云存储管理平台,旨在无缝集成多个云存储服务,将它们统一整合到一个界面中。 2、使用CloudDrive,您可以轻松管理和访问所有云存储服务,无需在不同的应用程序和界面之间来回切换。 3、CloudDrive最引人注目的特点是其能够将多个云存储服务挂载为本地磁盘,直接访问文件而无需预先下载。想象一下,您可以将云存储服务当作本地文件系统的一部分来使用,带来的便利性不言而喻。 4、但这还不是全部 - CloudDrive还提供了高级功能,如快速的云端文件传输、实时的云文件通知和应用级别的权限控制。无论您是高级用户还是普通云存储用户,CloudDrive都能以卓越的效率和易用性让您充分发挥云存储资源的潜力。 CloudDrive的主要特性 1、云盘本地挂载 将多个云盘挂载到本地驱动器,就像它们是计算机文件系统的一部分。告别从云端下载文件的麻烦。 2、统一的多云盘管理 在一个地方管理所有云盘账户。轻松组织文件,同步文件夹,并跨不同云服务进行高级搜索。目前支持阿里云盘、百度网盘、115网盘、天翼云盘、PikPak、OneDrive、Google Drive、WebDAV和本地文件夹。 3、一次登录,到处使用 在一个地方登录所有的云盘账户,并在任何设备上使用,无需每次都要登录不同的账户。 云盘账户同步机制是安全的。 4、WebDAV服务 CloudDrive作为一个WebDAV服务器,可以向其他WebDAV客户端提供WebDAV服务。 5、跨云盘文件快速复制 在云盘之间快速直接地传输文件,无需中间下载。通过 CloudDrive 的优化文件传输功能节省时间和带宽。 6、文件变更通知 接收关于云文件变更的实时通知。与文件系统监视器应用无缝集成,实现无缝协作。 7、应用级权限控制 精细控制文件的访问权限。在程序级别定义和管理访问权限,确保安全共享和协作。 8、云盘服务商友好 使用CloudDrive,不再做网盘吸血鬼。 我们保证用户体验流畅,同时最大程度地减少网盘运营商的资源占用。 9、多云盘备份 将任意本地磁盘或网盘同时备份到多个网盘或者本地磁盘。 自动检测文件变化,自动增量备份。 覆盖或删除文件可保留无限多个历史版本备份。 多云备份,数据无忧。 10、在任何设备上运行 电脑:Windows, Linux, macOS NAS:Synology, QNAP... 电视手机:Android, LibreElec, CoreElec 路由器:OpenWRT路由器 使用CloudDrive 1、电脑 下载并安装CloudDrive的最新版本,您可以在计算机上拥有统一的云存储管理中心,并且将你的云盘扩展成你电脑的本地硬盘。 CloudDrive目前支持Windows x64、Linux、macOS,支持x86_64、arm64、armv7等架构的电脑。 2、手机 CloudDrive可以在Android手机上运行,将您的云盘扩展到本地存储。使用CloudDrive,您可以将多个云盘整合到一个统一的存储空间中,用户安装的所有app都直接访问本地挂载的云盘文件。 CloudDrive支持Android 7.0及以上版本,需要root权限才能在安卓系统上使用本地挂载功能。 CloudDrive官网/CloudDrive下载地址:http://www.clouddrive2.com/...

    2024-04-04 实用工具 106
  • 今天起,ChatGPT无需注册就能用了!

    OpenAI宣布:从今天起,ChatGPT打开即用,无需再注册帐号和登录了!不过,免登录无法享受一些高级功能,比如分享聊天记录、自定义指令等等。 访问地址是:https://openai.com/ (目前国内用不了) 松松刚测试了一下:使用ChatGPT还是需要注册登录的,但是免去了手机号验证码的环节。而且OpenAI实际开放的是chatGPT3.5。但是资料滞后严重,信息只更新到了2022年1月,这已经过去2年多了。而且,我个人感觉跟前段时间相比,性能大幅度降低,看来免费的AI工具会变得越来越差。 目前ChatGPT已经有185个国家和地区超1亿用户在使用ChatGPT了,但自2023年5月ChatGPT全球总访问量达到18亿次的峰值以来,这一受欢迎服务的流量增长开始放缓。 这也表明生成式AI竞争激烈。Chatgpt宣布这一举措的背后,也表明比如今年3月发布的Claude 3,在多项评测中的能力都超过了Chatgpt,成为当前最强大模型。 其实这几年,国内的AI大模型已经很强大了,只是很多人依然觉得国外的东西就是好。他们依然不怕麻烦的花钱买月租,去使用ChatGPT。最后在说下:ChatGPT 3.5信息有点旧了,最好配合国内的通义千问、文心一言、智谱清言一起用更有优势。...

    2024-04-04 值得一看 82
  • 某博不好意思晒在好友圈的照片

    点击围观  ...

    2024-04-04 福利分享 130
  • 某博小反差[照相机] ​​​

    点击围观  ...

    2024-04-04 福利分享 132
  • 4月4日,星期四简报,60秒知晓天下事

    2024年4月4日,星期四,农历二月廿六,每天60秒知天下 1、台湾花莲县海域发生7.3级地震:已致9死934伤,48栋民宅受损,余震逾200起,气象部门称:未来三天可能还有7级地震; 2、江西风雹灾害:已致7人死亡,9.3万人受灾,直接经济损失1.5亿元;江西一回乡祭祖车辆被水冲,当地通报:3人溺亡,一干部救人时失联 3、媒体:六大行存款一年多了14万亿,相当于每人多存1万;四大行定期存款占比均超50%,为近年来首次; 4、网传一男孩称家里多人在农发行任职,以后要"继承家产"当行长,银行回应:确认无此情况,正在排查分支机构; 5、广州出台幼儿园收费新规:公办幼儿园保教费每月823元;《广州市城中村改造条例》5月1日起施行:建立城中村改造协调工作机制; 6、央行等:自用传统动力汽车、自用新能源车可按所购车价格全额发放贷款; 7、比亚迪全年净利润超300亿元,近乎上汽、广汽、吉利、长城之和; 8、国际金价再创历史新高,国内金饰价格全线突破每克700元关口,黄金现货价较年初涨11.8%; 9、福布斯发布2024全球亿万富豪榜:LV老板蝉联世界首富,马斯克第二,中国富豪数量连降3年,农夫山泉钟睒睒首富; 10、海南西南海域一外籍货船与中方渔船发生碰撞,渔船上8人落水失联,搜救正在进行中; 11、美国财长耶伦4月4日至9日访华,外交部回应:希望美方同中方相向而行,妥处分歧; 12、美国要求韩国加强对向中国出口半导体技术的限制,外交部:望韩方做出正确判断; 13、欧媒:芬兰一所小学发生校园枪击案,12岁学生开枪致同学1死2伤,芬兰总理称:深感震惊; 14、外媒:7名国际慈善组织工作人员遭以军袭击死亡,多国谴责并敦促以色列全面调查; 15、俄媒:俄罗斯将就恐袭案向国际法庭起诉乌克兰;芬兰与乌克兰签署10年期安全合作协议; 【每日金句】生活是给自己看的,你有多大成色,世界才会给你多大脸色。    ...

    2024-04-04 值得一看 82

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:8:00-23:00,节假日休息

扫码关注