首页 文章 精选 留言 我的

精选列表

搜索[算力],共10000篇文章
优秀的个人博客,低调大师

英伟达宣布 Project Digits:类 Mac Mini 大小的个人 AI 超算、售价 3000 美元起

英伟达宣布将于 5 月推出一款名为Project Digits的个人 AI 超级计算机。 DIGITS 主要功能: 单台能运行高达 200B 参数的 AI 模型 连接两个单元就能处理 405B 参数模型 使用标准家用电源就能供电 基于 Linux 的 NVIDIA DGX 操作系统 预装完整的 NVIDIA AI 软件栈 Project Digits 的核心是新的GB10 Grace Blackwell Superchip,它具有足够的处理能力来运行复杂的 AI 模型,同时又足够紧凑,可以放在桌子上并使用标准电源插座供电。 这个产品本身尺寸类似Mac Mini,号称可以处理多达 2000 亿个参数的 AI 模型,起价为 3000 美元(约 21999 元人民币)。 英伟达 CEO 黄仁勋表示: “人工智能将成为每个行业每个应用的主流。通过 Project Digits,Grace Blackwell 超级芯片将惠及数百万开发者,将 AI 超级计算机放在每个数据科学家、AI 研究人员和学生的办公桌上,使他们能够参与和塑造 AI 时代。” 每个 Project Digits 都配备了 128GB 的统一内存和高达 4TB 的 NVMe 存储。对于要求更高的 AI 应用,两个 Project Digits 可以连接在一起,处理多达 4050 亿个参数的模型(Meta 的最佳模型 Llama 3.1 具有 4050 亿个参数)。 用户可以在 Project Digits 上本地开发和测试 AI 模型,然后使用相同的 Grace Blackwell 架构和 Nvidia AI Enterprise 软件平台将其部署到云服务或数据中心基础设施。

优秀的个人博客,低调大师

你不知道的js中关于this绑定机制的解析[看完还不懂算我输]

前言 最近正在看《你不知道的JavaScript》,里面关于this绑定机制的部分讲的特别好,很清晰,这部分对我们js的使用也是相当关键的,并且这也是一个面试的高频考点,所以整理一篇文章分享一下这部分的内容,相信看本文的解析,你一定会有所收获的,如果喜欢的话可以点波赞/关注,支持一下。 个人博客了解一下:obkoro1.com 为什么要用this: function identify() { console.log("Hello,I'm " + this.name); } let me = { name: "Kyle" }; let you = { name: "Reader" }; identify.call(me); // Hello,I'm Kyle identify.call(you); // Hello,I'm Reader 复制代码 这个简单的栗子,可以在不同的对象中复用函数identify,不用针对每个对象编写一个新函数。 this解决的问题: this提供了一种更优雅的方法来隐式'传递'一个对象的引用,因此可以将API设计得更加简洁并且易于复用。 this的四种绑定规则: 默认绑定: 规则:在非严格模式下,默认绑定的this指向全局对象,严格模式下this指向undefined function foo() { console.log(this.a); // this指向全局对象 } var a = 2; foo(); // 2 function foo2() { "use strict"; // 严格模式this绑定到undefined console.log(this.a); } foo2(); // TypeError:a undefined 复制代码 默认绑定规则如上述栗子,书中还提到了一个微妙的细节: function foo() { console.log(this.a); // foo函数不是严格模式 默认绑定全局对象 } var a = 2; function foo2(){ "use strict"; foo(); // 严格模式下调用其他函数,不影响默认绑定 } foo2(); // 2 复制代码 所以:对于默认绑定来说,决定this绑定对象的是函数体是否处于严格模式,严格指向undefined,非严格指向全局对象。 通常不会在代码中混用严格模式和非严格模式,所以这种情况很罕见,知道一下就可以了,避免某些变态的面试题挖坑。 隐式绑定: 规则:函数在调用位置,是否有上下文对象,如果有,那么this就会隐式绑定到这个对象上。 function foo() { console.log(this.a); } var a = "Oops, global"; let obj2 = { a: 2, foo: foo }; let obj1 = { a: 22, obj2: obj2 }; obj2.foo(); // 2 this指向调用函数的对象 obj1.obj2.foo(); // 2 this指向最后一层调用函数的对象 // 隐式绑定丢失 let bar = obj2.foo; // bar只是一个函数别名 是obj2.foo的一个引用 bar(); // "Oops, global" - 指向全局 复制代码 隐式绑定丢失: 隐式绑定丢失的问题:实际上就是函数调用时,并没有上下文对象,只是对函数的引用,所以会导致隐式绑定丢失。 同样的问题,还发生在传入回调函数中,这种情况更加常见,并且隐蔽,类似: test(obj2.foo); // 传入函数的引用,调用时也是没有上下文对象。 复制代码 显式绑定: 就像我们上面看到的,如果单纯使用隐式绑定肯定没有办法得到期望的绑定,幸好我们还可以在某个对象上强制调用函数,从而将this绑定在这个对象上。 规则:我们可以通过apply、call、bind将函数中的this绑定到指定对象上。 function foo() { console.log(this.a); } let obj = { a: 2 }; foo.call(obj); // 2 复制代码 传入的不是对象: 如果你传入了一个原始值(字符串,布尔类型,数字类型),来当做this的绑定对象,这个原始值转换成它的对象形式。 如果你把null或者undefined作为this的绑定对象传入call/apply/bind,这些值会在调用时被忽略,实际应用的是默认绑定规则。 new绑定: 书中提到:在js中,实际上并不存在所谓的'构造函数',只有对于函数的'构造调用'。 new的时候会做哪些事情: 创建一个全新的对象。 这个新对象会被执行 [[Prototype]] 连接。 这个新对象会绑定到函数调用的this。 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。 规则:使用构造调用的时候,this会自动绑定在new期间创建的对象上。 function foo(a) { this.a = a; // this绑定到bar上 } let bar = new foo(2); console.log(bar.a); // 2 复制代码 this四种绑定规则的优先级 如果在某个调用位置应用了多条规则,如何确定哪条规则生效? obj.foo.call(obj2); // this指向obj2 显式绑定比隐式绑定优先级高。 new obj.foo(); // thsi指向new新创建的对象 new绑定比隐式绑定优先级高。 复制代码 显式绑定和new绑定无法直接比较(会报错),默认绑定是不应用其他规则之后的兜底绑定所以优先级最低,最后的结果是: 显式绑定 > 隐式绑定 > 默认绑定 new绑定 > 隐式绑定 > 默认绑定 箭头函数的this指向不会使用上述的四条规则: function foo() { return () => { console.log(this.a); }; } let obj1 = { a: 2 }; let obj2 = { a: 22 }; let bar = foo.call(obj1); // foo this指向obj1 bar.call(obj2); // 输出2 这里执行箭头函数 并试图绑定this指向到obj2 复制代码 从上述栗子可以得出,箭头函数的this规则: 箭头函数中的this继承于它外面第一个不是箭头函数的函数的this指向。 箭头函数的 this 一旦绑定了上下文,就不会被任何代码改变。 结语 认真看完的话,相信你已经get到this的用法了,最后推荐一下《你不知道的JavaScript》,这本书真的很好,写的也很有趣,没看过的小伙伴抓紧入手了。 PS:目前离职中,大佬们有坑位可以介绍一下呀,base:上海长宁。 原文发布时间:2018-6-20 原文作者: OBKoro1 本文来源 掘金如需转载请紧急联系作者

优秀的个人博客,低调大师

仿:Android - 微信 - 朋友圈 - 小视频播放,多 4 句废话算我输

作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 为了您的直观体验,请务必看完下面 gif 图,源码 gitHub 链接在其之后。 做这个东西的目的是: 完善毕设: 一个没依赖各种云,而使用C++和Golang做后端的仿微信APP 为了避免大家浪费时间,直接先看下面的 Gif,略大,请耐心点。看完后,若你觉得会需要到,那么就请听我继续。 gif 链接 http://123.57.244.105:8081/commentthumb/GIF.gif git显示,略大,请耐心 GitHub 链接 废话一句:这个显示只是其中一部分,重点是:FFmpeg + Camera 的录制部分,所以,你的星星(star)也是一种更新通知 (我通知你)。 https://github.com/af913337456/WeChatVideoView 功能点 如果你看完上面的gif图,你会发现如下几点功能 (Function list): 1,直观的 播放前,可以显示封面缩略图 播放时,如果还没有本地缓存,那么先进行下载 下载过程中,显示圆型区域进度效果 下载后,播放完毕后可以循环播放 播放已经播放过的,是具备本地缓存的,也就是既能播放网络,也能播放本地 2,隐藏的 低耗电量 低内存占用 无延迟图与视频切换 低耦合,高内聚,几行代码接入,一共3个类 解析 直观的功能点,几乎就是和新版微信的一样,从朋友圈点击一个视频,然后进入到一个 Activity 页面进行加载以及播放。 为什么低耗电量和低内存占用? 因为采用的是 SurfaceView 而不是 TextureView,图与视频切换的切换延迟也是这个原因。 在你的 Activity 中这样使用 这样就会以 id 为 activity_main 的 Relativelayout 为父容器装载。 因为要避免内存泄露,所以你还需要做完下面的一些步骤,不会超过6行代码。 技术点 (可以不看) 1,下载操作: 自定义 AsyncTask。PS:AsyncTask 比 Thread + handler 重量级却方便(回调进度),但是,如果是 即放即用,结束即销毁,那么,no need to think about this; 2,视频播放组合拳: surfaceView + mediaPlayer surfaceView 用作显示,mediaPlayer 用来解码 两者关系: mediaPlayer 绑定 surfaceView。 为什么不用 TextrueView? 3,进度区域 自定义 View,3个画笔绘制,一个圆,一个边,一个扇区。 如果您认为这篇文章还不错或者有所收获,您可以通过扫描一下下面的支付宝二维码 打赏我一杯咖啡【物质支持】,也可以点击右下角的【推荐】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力、

优秀的个人博客,低调大师

ios 工程配置统一增加类的前缀(知识点也只能算知识点)

在前边的代码规范中提及:团队开发或者个人开发为了打包或者自己工程中避免创建新的类核第三方系统的重复增加类的统一前缀!!又很多人问我这种开发小技巧。下面我就普及一下: 1.首先选中你的工程配置 2.然后点击开发空间的右侧 3.在project document 中的class prefix 中加入你们团队个性的前缀就好了!

优秀的个人博客,低调大师

可视化关联网络绘图技术与力导向关系图开发示例

第一部分基础,理解了数据 -> 视觉通道的映射关系; 接下来在第二部分,我们将进入稍微复杂一点的层次:关系绘图、数据连接与节点之间的连通表达。 一、从独立点到关联网络 很多业务不仅关注数据本身,更关注 数据之间的关系:如社交关系、知识图谱、系统依赖、事件传递链等。 Highcharts 在网络图 (Network Graph) 模块中支持方便地绘制节点与连接线。 关系网络图有几个特点: 节点 (n

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册