- 博客(97)
- 收藏
- 关注
原创 多臂赌博机与生涯规划
某个领域的新问题,在其他领域已经有成熟的解决方案可以借鉴。我们会遇到探索未知和利用当下的问题,算法模型的抽象就是多臂赌博机。面对多台外观一样的赌博机,其吐钱概率未知,我们如何在有限次摇臂下使累计收益最大,或者说累计遗憾最少。策略:不确定中通过试错找到合适的收益点,使累计遗憾减少。方法有基于概率分布、置信区间、贪婪三种方法概率分布,给予好的和不确定的选项更多机会。置信区间,在选择好的同时,也给未选的方案更多机会。贪婪确定一个概率去随机探索,其余情况选择当下收益最好的。感..
2022-11-24 20:15:00
192
原创 【推荐系统】行列式点过程(DPP)算法推导
DPP一、背景推荐系统主要解决用户和物品之间的相关性,以及推荐列表的多样性。相关性主要通过用户兴趣和物品之间的匹配程度来衡量,希望把用户感兴趣的物品推荐给用户,可以通过CTRß预估模型来构建。多样性的衡量没有那么直观,一种方法是计算不同Item之间的cosin值,值越小表明多样性越好。Hulu在NIPS 2018会议上发表的论文《Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Div
2022-11-24 20:13:27
3831
原创 开箱即用,使用 console 的五大技巧
如果只能带走一个技巧的话,希望你能尝试使用 console.dir() 或 console.table() 打印对象类消息。
2022-04-20 17:43:11
3761
原创 【bug】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案
使用demo程序验证GPU是否正常,代码如下:import pytorchprint(torch.__version__)t=torch.ones(1,1,2,2)t=torch.cuda()发现报错:RuntimeError: CUDA error: no kernel image is available for execution on the device查明是torch的版本和cuda的版本不匹配,升级torch可以解决这个问题。升级命令可以使用如下网页查询:https:/
2021-06-10 15:31:26
858
原创 如何在linux中用conda创建虚拟环境
首先安装anaconda,使用wegt命令,下载sh文件官网链接:https://www.anaconda.com/products/individual下载命令:wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A下载命令:wget https://mirrors.
2021-06-10 15:23:44
295
原创 【Zotero】A copy of Zotero is already open…错误解决方案
错误信息:"A copy of Zotero is already open. Only one copy of Zotero can be open at a time"解决方案:在活动监视器中查找Zotero进程,停止运行后再重新打开。
2021-01-09 11:08:34
812
原创 登录令牌解决方案对比
session使用流程用户向服务器发送用户名和密码。服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。服务器向用户返回一个 session_id,写入用户的 Cookie。用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。问题:扩展性(scaling)不好,服务器集群需要将session数据共享解决方发: session 数据持久化,.
2020-09-21 19:32:14
250
原创 基于React.js的项目开发笔记
文章目录对React的理解React编写注意事项props,state与render函数的关系虚拟DOM父子组件数值传递生命周期函数Redux对React的理解react是声明式的开发方式,而原生JS的命令式编程大部分在做DOM操作,可以与其他框架并存组件化单向数据流视图层框架函数式编程React编写注意事项使用Fragment占位符作为最外层的组件包裹内部元素,而不是用divCSS中要用className,而不是classlabel标签中可以使用htmlFor<
2020-09-21 19:11:03
249
原创 使用Vue.js实现一个带滑动效果的倒计时组件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>倒计时</title> <script src="https://cdn.jsdelivr.net/npm
2020-09-09 15:46:36
478
原创 【前端面试指南】JS-11-运行环境
运行环境运行环境即浏览器( server端有 Node.js ),下载网页代码,渲染出页面,期间会执行若干JS。运行环境要保证代码在浏览器中稳定且高效。重点包括网页加载过程、性能优化、安全。页面加载与渲染过程加载资源的形式HTML代码媒体文件,如图片、视频等JavaScript、CSS加载资源的过程DNS解析:域名->IP地址浏览器根据IP地址向服务器发起http请求服务器处理http请求,并返回给浏览器渲染页面的过程根据 HTML 代码生..
2020-08-18 16:00:32
210
原创 【前端面试指南】JS-9-web-API-存储
请描述一下 cookies,sessionStorage 和 localStorage 的区别?cookie 是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)cookie 数据始终在同源的 http 请求中携带(即使不需要),记会在浏览器和服务器间来回传递。sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存。存储大小:cookie 数据大小不能超过 4k。sessionStorage..
2020-08-18 15:59:24
147
原创 【前端面试指南】JS-10-开发环境
关于开发环境面试官想通过开发环境了解候选人的实际工作情况开发环境的工具,能体现工作产出的效率会以聊天形式为主,不会问具体的问题git最常用的代码版本管理工具大型项目需要多人协作开发,必须熟用git如果你不知道或者之前不用git ,不会通过面试常用命令git add.git checkout XXXgit commit -m "XXX"git push origin mastergit pull origin mastergit branchgit c..
2020-08-18 15:58:58
117
原创 【前端面试指南】JS-7-Web-API-事件
事件绑定const btn = document.getElementById('btn1')btn.addEventListener('click', event => { console.log('clicked')}// 事件绑定函数function bindEvent (elem, type, fn) { elem.addEventListener(type, fn)}const btn1 = document.getElementById('btn1')..
2020-08-18 15:57:13
123
原创 【前端面试指南】JS-8-Web-API-Ajax
【前端学习指南】JS-Web-API-AjaxXMLHttpRequest// get 请求const xhr = new XMLHttpRequest()xhr.open("GET", "/api/data.json", true) // true 指函数异步执行xhr.onreadystatechange = function () { if (xhr.readyState === 4) { console.log('请求完成') if (xhr.sta
2020-08-18 15:56:05
134
原创 【前端面试指南】JS-6-Web-API-BOM
navigator// navigator 识别浏览器的类型const ua = navigator.userAgentconst isChrome = ua.index0f('Chrome')console.log(isChrome)screen// screenconsole.log(screen.width)console.log(screen.height)location// location 分析拆解url各个部分console.log(location.h..
2020-08-18 15:55:36
105
原创 【前端面试指南】JS-2-手写jQuery
代码class jQuery { constructor(selector) { const result = document.querySelectorAll(selector) // DOM查询 const length = result.length for (let i = 0; i < length; i++) { this[i] = result[i] } this.len
2020-08-18 15:53:23
120
原创 【前端面试指南】JS-1-手写深拷贝和浅拷贝
浅拷贝定义:浅拷贝是拷贝第一层的拷贝方法:使用Object.assign解决这个问题。let a = { age: 1}let b = Object.assign({}, a)a.age = 2console.log(b.age) // 1通过展开运算符 ... 来实现浅拷贝let a = { age: 1}let b = {...a};a.age = 2;console.log(b.age) // 1深拷贝定义:深拷贝是拷贝所有..
2020-08-18 15:52:24
372
原创 【前端面试指南】CSS3新特性
边框圆角效果div.a { /* 上右下左都是 10px */ border-radius: 10px; /* 上右下左参数不一 */ border-radius: 10px 20px 30px 40px; }实心圆div.a { height: 100px; width: 100px; backgrou..
2020-08-18 15:21:35
598
原创 python 直接赋值和使用切片函数[:]赋值区别
list_1=[1,2,3]list_2=list_1list_3=list_1[:]list_2和list_1引用了同一个地址list_3是创建了一个新的地址
2020-08-10 13:43:36
486
原创 如何在mac上读写移动硬盘?
连接移动硬盘后,打开终端软件输入命令mount | grep ntfs,查看已连接的移动硬盘输入命令sudo umount /dev/disk2s1,输入管理员密码,取消挂载输入命令mkdir ~/Desktop/md1sudo mount_ntfs -o rw,nobrowse /dev/disk2s1 ~/Desktop/md1上述命令全部执行完成后,可以在桌面点击md1文件夹访问硬盘文件。步骤展示如下图所示:...
2020-08-06 12:18:27
2617
原创 湖畔大学 面试真题
初试题世界因我有何不同?学长二面你的企业解决了一个什么社会问题?你的企业最有可能的“死法”是什么?你觉得一个CEO心狠是好事还是坏事?终面题六届我和我的一次艰难决策五届创业至今,你和你的核心高管团队经历的关键性转折时刻是什么?从中感受到你们是一群怎样的人?你们想创建的未来是什么样子的?去向这个未来,你们要蜕变什么?四届如何开一场战略会?三届你有什么?你要什么?你愿意放弃什么?...
2020-08-05 11:27:14
278
原创 提升效率的三个chrome浏览器插件
加快网页视频播放速度Video Speed Controller和百度视频加速首页推送英文短句Good Quotes按日历形式展现历史记录Chrome Better History
2020-08-03 09:57:53
211
原创 【前端面试指南】CSS基础
CSS有两种盒模型,宽度=内容宽度+padding+border+margin标准盒模型:设置为box-sizing=content-boxwidth=内容宽度IE盒模型:width=内容+padding+border设置为box-sizing=border-boxwidth=内容宽度+padding+borderCSS有三种布局方式:Flow-文档流Layer-层模型Float-浮动文档流就是按元素的属性,按顺序垂直延伸显示,内联元素不单独占据一行,块..
2020-07-29 16:02:42
271
原创 【前端面试指南】JS编程题汇总
【前端面试指南】JS编程题汇总总结:数组拷贝方法//slicefunction copy(arr) { ans = arr.slice(0); return ans}//push.applyfunction copy(arr) { let ans = [] ans = [].push.apply(ans, arr); return ans}//concatfunction copy(arr) { let ans = arr.conc
2020-06-21 20:12:07
402
原创 【前端面试指南】JS-面试心得
心得:拿到一个面试题,第一时间看到的是考点。如何应对做不完的题海?以不变应万变,考点是不会变的。练习面试题,要从题目到知识点,再从知识点回到题目。高效学习三部曲:找准知识体系、刻意训练、及时反馈;涵盖所有知识点:结构化、有组织、易扩展知识结构:W3C标准ES6开发环境运行环境知识体系是结构化的知识范围:JS基本语法JS-Web-API开发环境运行环境...
2020-06-10 15:44:31
142
原创 【前端面试指南】Vue
前端常见面试流程一面:基础知识JS基础知识框架基本使用二面:高级特性+原理框架高级特性框架原理三面: 设计+经验项目设计能力工作经验和环境通过面试如何应对上述面试题?框架的使用(基本使用,高级特性,周边插件)框架的原理(基本原理的了解,热门技术的深度,全面性)框架的实际应用,即设计能力(组件结构,数据结构)面试官为何要这样考察?保证候选人能正常工作一考察使用多个候选人竞争时,选择有技术追求的一考察原理看候选人是否能独立承担项目一考察设计能.
2020-06-08 10:34:35
145
原创 【前端学习指南】JS-5-Web-API-DOM
前言Vue和React框架应用广泛,封装了DOM操作但DOM操作一直都是前端工程师的基础、必备知识只会vue而不懂DOM操作的前端程序员,不会长久知识点DOM本质DOM性能DOM节点操作DOM结构操作DOM节点操作获取DOM节点attributeproperty获取DOM节点const div1 = document.getElementById('div1') //元素const divList = document.getElementsByTa..
2020-06-08 10:33:24
168
1
原创 【前端面试指南】JS-3-作用域和闭包
作用域全局作用域函数作用域块级作用域( ES6新增)只有变量会向外部寻找,找到就不不管了·闭包//函数作为返回值function create() { let a=100 return function () { console. log(a) }}let fn = create( )let a=200fn()//fn()都是100//函数作为参数function print(fn) { let a=200 fn() }let a=10..
2020-06-08 10:32:52
141
原创 【前端面试指南】JS-2-原型和原型链
class和继承类型判断instanceof原型和原型链类型判断 - instanceofxialuo instanceof Student // truexialuo instanceof People // truexialuo instanceof object //true[] instanceof Array // true [] instanceof Object // true{} instanceof Object // true...
2020-06-08 10:32:16
134
原创 【前端面试指南】JS-4-异步和单线程
【前端面试指南】JS-异步和单线程知识点单线程和异步应用场景callback hell和Promise单线程和异步遇到等待(网络请求,定时任务)不能卡住需要异步回调callback函数形式异步和同步//异步console. log (100)setTimeout( function ( ) console.log (200) J,1000)console.log(300)//同步console.log( 100
2020-06-08 10:31:45
133
原创 【前端面试指南】JS-1-类型
心得:拿到一个面试题,第一时间看到的是考点。如何应对做不完的题海?以不变应万变,考点是不会变的。练习面试题,要从题目到知识点,再从知识点回到题目。知识结构:W3C标准ES6开发环境运行环境知识体系:JS基本语法JS-Web-API开发环境运行环境变量:值类型和应用类型 由于对内存和空间管理的考虑,值类型用栈,变量直接直向值,引用类型用堆,变量指向的是堆里的内存地址。对象 数组都是引用类型,null是特殊的引用类型,指针指向空地址函数是一个特..
2020-06-08 10:30:55
136
原创 【讲座笔记】杨天真的职场语录
能力篇你要把时间精力放在让自己增值上面,这样你的人生和事业才能持续。不要被功利左右,不断让自己变得更优秀才是最重要的。不要怀疑能力的价值。能力是永远可以发挥价值的。只有实力不会背叛自己。喜欢你的人可能会变,社会的审美和口味可能会变,但是如果你的能力越来越强,你就永远都会有选择的机会。想的长远一点,人生之路很长。你只有扛得住现在的难,才能最后承受得了那个好。要修炼自己跨越障碍的能力。只有自驱力足够大的人,才能在职场上不断前进。对于职业能达到的高度,实力一定是最重要的因素,但高度不等同于速度。走.
2020-05-25 15:20:06
2636
原创 腾讯2020台历箴言
一月-迎新行情总在绝望中诞生,在犹豫中成长,在憧憬中成熟,在疯狂中结束——约翰·邓普顿 / 全球投资之父二月-赏灯投资是预测资产未来收益的活动,而投机是预测市场心理的活动。——约翰·凯恩斯 / 经济学家三月-启蜇我读年报像其他人读报纸一样,每年我都读几千份年报,我不知道我读了多少。——沃伦巴菲特 / 投资大师四月-踏青要得到你想要的某样东西,最可靠的办法是让你自己配得上它——查理·芒格 / 投资大师五月-立夏有效市场理论在不严重低效的市场中是正确的,但我们寻找的是短期、微小的异常现
2020-05-22 18:42:01
352
原创 【玩转算法】贪心算法
贪心算法是一种在每一步选中都采取在当前状态下最好或最优的选择,从而希望导致结果是最好或最优的算法。贪心算法优点:对于一些问题,非常直观有效。贪心算法缺点:并不是所有问题都能用它去解决;得到的结果并一定不是正确的,因为这种算法容易过早地做出决定,从而没有办法达到最优解。贪心选择性质的证明:贪心算法为A;最优算法为O;发现A完全能替代O,且不影响求出最优解。贪心算法总是做出在当前看来是最好的选择。即,它不从整体的角度去考虑,仅仅对局部的最优解感兴趣。因此,只有当那些局部最优策略能产生全局最优.
2020-05-21 15:10:02
647
原创 【玩转算法】动态规划
什么是动态规划?它既是一种数学优化的方法,同时也是编程的方法。DP将原问题拆解成若干子问题,同时保存子问题的答案,使得每个子问题只求解一次,最终获得原问题的答案。动态规划是数学优化的方法动态规划是数学优化的方法指,动态规划要解决的都是问题的最优解。而一个问题的最优解是由它的各个子问题的最优解决定的。由此引出动态规划的第一个重要的属性:最优子结构。一般由最优子结构,推导出一个状态转移方程 f(n),就能很快写出问题的递归实现方法。通过求子问题的最优解,可以获得原问题的最优解。动态规划是编..
2020-05-21 14:50:34
183
原创 【玩转算法】递归和回溯法
文章目录1. 主要特征2. 树形问题:解决思路是一棵树的形状3. 排列问题4. 组合问题5. 综合例题6. 回溯法是经典人工智能的基础1. 主要特征递归调用结束后要返回上一层,直到根节点,也被称为回溯。被用在查找搜索问题中。复杂度是指数级的。回溯法是暴力解法的主要实现手段2. 树形问题:解决思路是一棵树的形状LeetCode 第 17 题:电话号码的字母组合,要考虑字符串的合法性(有*和#吗)、空字符串、多个解的顺序LeetCode 第 93 题:复原IP地址LeetCode 第 131
2020-05-20 18:55:58
362
1
原创 【开源项目笔记】React组件库#1 Button 组件及其测试
文章目录一、项目规划二、配置环境三、Button组件一、项目规划完成一个组件库需要考虑的问题代码和项目结构:和Web工程项目不同,组件库项目主要输出JS代码和样式文件,不需要展示性的HTML样式解决方案:需要有良好的样式代码,解决方案组件需求分析和编码组件测试用例分析和编码代码打包输出和发布CI/CD,文档生成等等中心思想:化繁为简,从简单入手,在需求中慢慢复杂二、配置环境码云创建代码仓库,克隆到到本地,运行create-react-app lightroom --types
2020-05-18 18:16:20
279
原创 【玩转算法】树和递归
树树的形状普通二叉树、平衡二叉树、完全二叉树、二叉搜索树、四叉树(Quadtree)、多叉树(N-ary Tree)。平衡二叉树:每一个节点的左右子树的高度差不超过1。完全二叉树:除了最后一层,所有层的节点数达到最大,与此同时,最后一层的所有节点都在最左侧,堆使用完全二叉树。满二叉树:所有层的节点数达到最大。二分搜索树:每个节点的键值大于左孩子;每个节点的键值小于右孩子;以左右孩子为根的子树仍为二分搜索树。基本操作:插入insert查找find删除delet
2020-05-18 10:49:05
195
原创 【玩转算法】栈、队列、优先队列、双端队列
栈特点栈的最大特点就是后进先出(LIFO)。对于栈中的数据来说,所有操作都是在栈的顶部完成的,只可以查看栈顶部的元素,只能够向栈的顶部压⼊数据,也只能从栈的顶部弹出数据。栈顶元素反映了在嵌套的层次关系中,最近的需要匹配的元素。实现利用一个单链表来实现栈的数据结构。而且,因为我们都只针对栈顶元素进行操作,所以借用单链表的头就能让所有栈的操作在 O(1) 的时间内完成。应用场景在解决某个问题的时候,只要求关心最近一次的操作,并且在操作完成了之后,需要向前查找到更前一次的操作。
2020-05-17 17:41:29
245
原创 SCSS 和 Sass 有什么区别?
Sass (Syntactically Awesome StyleSheets) 是具有语法改进功能的CSS预处理器。程序将处理高级语法的样式表,并将其转换为常规CSS样式表。但是,它并未扩展CSS标准本身。区别在于UI。在文本外部之下,它们是相同的,都是Sass预处理程序的一部分。这就是Sass和SCSS文件可以相互导入的原因。实际上,Sass具有四个语法解析器:SCSS,Sass,CSS和Less。所有这些将不同的语法转换为抽象语法树,然后通过Sass-convert工具将其进一步处理为CSS输出或
2020-05-17 09:35:35
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人