首页 文章 精选 留言 我的

精选列表

搜索[首次盈利],共10000篇文章
优秀的个人博客,低调大师

由ContactsProvider的升级引发的OTA首次开机卡白米问题分析

上午的宁静被一个OTA卡白米问题打破,接下来不断有人反馈不同机型都复现了OTA后卡白米,10.9号OTA升级到10.10号的版本,全机型问题,线刷没有问题,好吧,接下来就根据这些信息开始初步分析log吧! 初步分析 查看问题log,发现Boot phase到了PHASE_SYSTEM_SERVICES_READY 并且走到了PackageManagerService.systemReady 10-10 15:26:47.762 3152 3152 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1295 miui.provider.ExtraGuard.init:69 com.android.server.pm.PackageManagerServiceInjector.initExtraGuard:429 com.android.server.pm.PackageManagerService.systemReady:15195 com.android.server.SystemServer.startOtherServices:1133 继续看log发现以下异常信息 10-10 15:27:07.784 3152 3221 E ActivityManager: Attempt to launch receivers of broadcast intent Intent { act=android.net.conn.DATA_ACTIVITY_CHANGE (has extras) } before boot completion 这说明系统启动没有正常完成,ActivityManager的状态还没有就绪,难道system server的启动流程出现了异常? 赶紧打出system server的traces看一下 "main" prio=5 tid=1 Native | group="main" sCount=1 dsCount=0 obj=0x75f14fb8 self=0x558db1ec10 | sysTid=3152 nice=-2 cgrp=default sched=0/0 handle=0x7fb6a3afc8 | state=S schedstat=( 5043600992 157397768 10523 ) utm=367 stm=137 core=5 HZ=100 | stack=0x7fe85de000-0x7fe85e0000 stackSize=8MB | held mutexes= kernel: __switch_to+0x70/0x7c kernel: SyS_epoll_wait+0x2a0/0x32c kernel: SyS_epoll_pwait+0xa4/0x120 kernel: cpu_switch_to+0x48/0x4c native: #00 pc 0000000000069be4 /system/lib64/libc.so (__epoll_pwait+8) native: #01 pc 000000000001cca4 /system/lib64/libc.so (epoll_pwait+32) native: #02 pc 000000000001be88 /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+144) native: #03 pc 000000000001c268 /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+80) native: #04 pc 00000000000d2580 /system/lib64/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+48) native: #05 pc 000000000000082c /data/dalvik-cache/arm64/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+144) at android.os.MessageQueue.nativePollOnce(Native method) at android.os.MessageQueue.next(MessageQueue.java:323) at android.os.Looper.loop(Looper.java:135) at com.android.server.SystemServer.run(SystemServer.java:299) at com.android.server.SystemServer.main(SystemServer.java:181) at java.lang.reflect.Method.invoke!(Native method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628) 看起来主线程没有什么异常,已经进入主消息循环了,也就是说startOtherServices已经走完了,都走完了为啥activitymanager的状态还没有就绪?看代码吧 已知PMS的systemready已经走了,整个startOtherServices也走完了,所以AMS的systemready一定调用了,但是调用了为什么没有ready? 仔细看上面的代码可以看到一些端倪,因为调用AMS的systemready时传入的是一个runnable,runnable里面是启动systemui并通知一堆系统service running,从代码中可以看到这个runnable是在systemready函数的后半部分执行的,而当前出问题的状态是这个runnable并没有执行。 除了这个runnable之外还有一个关键的状态就是AMS的mSystemReady,通过am start发现log中打出来AMS没有ready的信息,产生这种状态的唯一的可能就是在AMS的systemready函数中没有正常执行完毕。 查看代码发现OTA后第一次调用到AMS的systemready之后mDidUpdate为false,mWaitingUpdate也是false,继续往下走到deliverPreBootCompleted,这里又传入了一个runnable,非常关键的一步,如果是OTA后第一次调用deliverPreBootCompleted会返回true给mWaitingUpdate,以为在deliverPreBootCompleted里面会发送ACTION_PRE_BOOT_COMPLETED给所有注册的receiver,并且添加FLAG_RECEIVER_BOOT_UPGRADE,在发送广播的时候就从同步调用变成了异步,返回后继续执行,mWaitingUpdate为true,然后return出去,mSystemReady在这一次没有机会设置为true,那什么时候设置呢?AMS ready的剩余代码什么时候执行呢?带着问题继续看代码 深入分析 还记得上面调用deliverPreBootCompleted时传入的runnable吗?当OTA后第一开机的ACTION_PRE_BOOT_COMPLETED广播发送给所有的receiver之后就会调用这个runnable,它里面会将mDidUpdate置为true并再次调用AMS的systemready函数,这次会正常执行完所以的流程,包括设置mSystemReady等状态为true,调用startOtherServices传入的runnable启动systemui和notify systemservice running,启动home等,但是现在这些都没有做。。。好吧,一言不合说不做就不做,Android就是任性! 赶紧看看它为啥没做,deliverPreBootCompleted也调用了,runnable也传过去,那问题就出在deliverPreBootCompleted里面的广播发送了?要想知道,还得看代码和log 好了,代码和log看到这里,基本定位到了大概原因,这个广播是有序发送的,并且是显式指定component的方式,每个发送完了都会把结果给PreBootContinuation并调用performReceive发送下一个,如果都发完了会把之前传入的runnable post 到消息队列里面,显而易见,没有走到post这一步,也就是说上面的广播在发送过程中出问题了,出什么问题了呢?还好这个问题可以必现,赶紧复现追一下代码,发现需要给6个receiver发送广播,出问题时只发送到第二个contactsproviders的时候就断了,log也对应了这一点,并且log中发现了contactsproviders升级数据库版本的信息,同时又仔细看了一下system server的trace,发现有个关于getprovider的线程不是太正常,一直处于waiting状态 contactsproviders执行之后一直没有完成,而AMS这么又有一个binder 线程一直在等待provider,这是不是有某种对应关系?赶紧看一下contactsproviders所在进程的traces,发现真有关系,在ContactsUpgradeReceiver里面执行数据库升级之后去请求一个content provider的时候block住了 真是踏破铁鞋无觅处,得来好不费功夫啊,system server一直在等待你完成通知它,你却在这睡大觉,但是又引来一个问题,这里的调用为什么会一直block?继续看代码,断点追代码,在getContentProviderImpl里发现了蹊跷,为contactsprovider 请求的yellowpage provider去startProcessLocked的时候由于system还没有ready所以start的操作被hold住了,所以导致contactsprovider的query操作被一直block 通过分析代码发现,不允许yellowpageprovider的进程起来是合理的,不合理的是contactsprovider在OTA过第一次开机upgrade的过程中不合理的请求了query yellowpageprovider,从而block整个系统启动,导致卡白米 后续问题 到这里可能有细心的同学会问,为什么之前OTA没问题,今天就有问题了? 原因是contactprovider的数据库版本有升级,在升级的同时触发了T9索引重建,重建的过程中用到了yellowpageprovider,来一下change再配合上面的traces可能会更直观 这个索引重建不是不能做,而是不能在OTA第一次开机过程中调用upgradereceiver的做,可以等正常开机后,BOOT_COMPLETED广播发出去的时候再触发做 可能还有更细心的同学会问,为什么卡住之后再重启一下就好了呢? 这是因为在ContactsUpgradeReceiver中会先判断DB VERSION,第一次因为升级了所以不相等,就走升级流程,升级之前先把最新的DB VERSION put到了preference中,这样第二次的时候因为相等了就不会再走升级流程了,所以就不会卡白米了

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

微信首次公布硬件八大行业解决方案

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 8月25日,在微信硬件创新大赛总决赛上,微信***公布了“微信硬件八大行业解决方案”,涉及空调、玩具、路由器、家居、电视、充值、健康、穿戴八个行业。 腾讯副总裁张颖表示,微信将把自己定位为信息枢纽和释放关系链能力。连接硬件设备、厂家和用户,实现数据的分化和联动。同时通过微信的用户和社交关系激发用户参与和粘性,帮助硬件销售。以微信运动为例,目前已经有1000多万的用户,并且推动了运动手环的销售。接下来美的洗衣机、海尔空调都会在微信上进行接入。 据张颖介绍,微信硬件平台已经接入2433家厂商,设备激活量2500万,另外申请测试数达到18882。 以下为微信八大行业解决方案: 智能健康解决方案 智能充值解决方案 智能家居解决方案 智能空调解决方案 智能穿戴解决方案 智能玩具解决方案 智能电视解决方案 智能路由解决方案 【责任编辑: chenqingxiang TEL:(010)68476606】

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

LY-ADMIN-UI 首次开源了,免编译的后台前端框架

介绍 三年磨一剑,Ly-Admin-ui是我们经过多年内部维护和使用的ui框架,现在决定开源了 Ly-Admin-ui 好用超全的管理后台前端框架,它基于 vue + element-ui+vue-rap 技术栈。 它使用了最新的前端技术栈,项目在element-ui基础上又添加了超多实用组件和布局; 项目整体使用了最新的vue-rap流应用技术,项目可以不需要构建的情况下直接部署,边使用边下载。 演示地址http://lyadminui.magcloud.net/ 登录地址http://lyadminui.magcloud.net/portal/login 文档地址http://lyadminui.magcloud.net/ 特色功能组件 N种主布局只有搭配 支持菜单,配置项,文档搜索的全局搜索能力 支持拖动验证,文字点选等多种行为验证方式 好看的操作指引 支持drop,剪贴板等使用简单的文件上传 懒加载方式的弹出框,不需要将弹出框内的代码写到当前页面 一行代码的图表展示 超级强大的 table 组件和 table 相关的组件 完备的权限验证能力 还有很多,太多了... 安装方式 下载文件LyAdminUI 目录结构 ├─portal 前端跟目录 │ ├─comp 项目特用的组件,且不会抽取为公共的组件 │ ├─utils 工具文件 │ │ ├─area.json 地区数据(请勿移动) │ │ ├─state.js 状态量管理 │ │ ├─menus.json 这里是你的菜单配置文件 │ ├─ly LYUI 框架目录(请勿移动) │ ├─其他自定义模块 其他自定义模块 │ ├─global.js 入口js文件 │ ├─index.html 入口html,正常会由后端渲染返回 ├─static 前端静态文件 │ ├─ly LYUI 需要使用到的静态文件(请勿移动) │ ├─imgs 静态图片 │ ├─libs 引用的三方js 库 拉取后的目录结构为推荐的目录结构,可以根据实际情况进行调整 标志为请勿移动的目录为 LyUI 框架文件,请勿随意修改或在目录内放入其他项目文件 框架更新 重新拉取项目,覆盖/portal/ly,/static/ly三个目录 项目截图

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

史上首次!苹果/谷歌/微软/火狐合力解决 Web 兼容性问题

浏览器制造商 Apple、Google、Microsoft 和 Mozilla ,以及软件公司 Bocoup 和 Igalia 正在合力制定一项名为 Interop 2022 的 Web 兼容性规范,以使 Web 技术和代码在不同的设备和浏览器中有统一的渲染效果(利好前端开发)。 这是有史以来第一次,所有市场上主要的浏览器供应商和利益相关者齐心协力地解决浏览器兼容性问题。此前,互相为竞争关系的浏览器厂商常常在 Web 技术的兼容性上出现分歧,尤其是 IE 还活着的时候,前端一个页面三套代码的情况十分常见。 过去几年,随着监管机构在竞争问题上向苹果和谷歌施压,这些顶级浏览器制造商之间才开始频繁合作,而不是专注于搞自家浏览器的专属功能。2019 年谷歌和微软合作发起过一个名为 Compat 2021 的 Web 兼容性标准,该标准促进了 CSS grid 和 CSS flexbox 这两个技术的发展,Mozilla 参与了该计划的讨论,但苹果和其 WebKit 团队并未参与此计划 。 新的 Interop 2022规范整体偏向于 15 个领域,其中 10 个领域是综合去年 CSS 2021 现状调查和 GitHub 投票得出的结论,大多数前端开发人员认为这些领域在跨浏览器存在兼容性问题会特别难处理: Cascade Layers(级联层) 有了这个标准,网站可以创建一个“框架”层和一个“自定义”层,然后将所有第三方框架的 CSS 样式分配到框架层,在自定义层中编写自定义样式,而且自定义层的所有 CSS 样式,优先级都可以比框架层要高(无视选择器)。 Color Spaces and Functions(色彩空间/函数) 早期,Web 开发使用 sRGB 颜色空间,通常以十六进制、rgb()、rgba()或hsl() 格式表达色彩。但随着显示技术的发展,sRBG 不够用了,因此 Interop 2022 包括对三种扩展颜色空间(LAB、LCH、P3)的支持测试,以及两种通过函数在 CSS 中编写颜色的方法:color-mix 和 color-contrast: color-mix(): 取两种颜色,并返回在指定颜色空间中按指定量混合它们的结果。 color-contrast():从颜色列表中选择与指定单色具有最高对比度的颜色。 Containment(CSS contain 属性) contain 属性用于识别和测量特定容器的大小,然后根据该容器的大小应用不同的样式。有点像媒体查询 @media,但不是测量视窗大小,而是测量容纳内容的盒子的大小。 Dialog Element(对话框元素) 该 Dialog元素可以创建覆盖型的窗口,也就是对话框,比如 ::backdrop 伪元素可以为一个模态框下方的背景设置样式。可在此博客了解对话框元素 。 Form Fixes(表单修复) 关于表单的一些操作性,包括 appearance 属性、、禁用表单控件<form>上的事件,以及输入元素、表单提交和表单验证的错误处理等。 Scrolling (滚动控件) 这条是关于页面滚动的兼容性,Scroll snap 提供了控制界面滚动方式和内容显示方式的工具。CSS 中的 scroll-behavior 属性设置当滚动由导航或 CSSOM 滚动 API 触发时,滚动框会出现什么行为。overscroll-behaviorCSS 属性决定了浏览器在到达滚动区域的边界时会做什么。 Subgrid(子网格) Subgrid 可轻松将网格容器的后代元素放置在该网格上,在跨复杂布局排列项目时无需考虑 DOM 结构。 比如下面三个卡片组件的页眉和页脚都对齐了,即使每张卡片都有独立的网格(grid),这是因为每张卡片都是跨越父网格的三行项目,然后使用子网格 Subgrid 将这些行继承到每个卡片中。 Typography and Encodings(字体设计和编码) 排版和编码包含一系列影响 Web 排版的测试,包括 font-variant-alternates, font-variant-position, ic 单元和 CJK(中日韩)文本编码。字体功能是优化排版的强大属性,但前提是跨浏览器兼容。 Viewport Units(视窗单位) 新的视窗单位考虑包含标题栏的布局,引入了最大、最小和动态视窗单位,比如 100svh 指 100% 最小可能视窗高度,100lvh 指 100% 最大可能视窗高度,100dvh 指 100% 动态视窗高度——该值将随着用户滚动而改变。 同理,svw、 lvw、 和 dvw 用于宽度单位。 Web Compat(Web 兼容) 浏览器中的特定错误可能不导致某些网站无法按预期渲染,或者一个浏览器可能与 Web 标准不同,从而导致网站或 Web 应用程序用户的体验,Interop 2022 旨在通过 Web 兼容性测量来捕获和解决这些问题。 以上是 10 个新的 Web 兼容性规范,此外还有 5 个从 Compat 2021 继承下来的规范标准: Aspect Ratio(屏幕纵横比) Flexbox(弹性盒模型) Grid(网格) Sticky Positioning(粘滞定位) Transforms(变换盒模型) 这部分规范已经非常常用,在此不展开介绍 。 从根本上讲,Interop 2022 是一个不断发展的指标,用于评估各大浏览器对上述 Web 标准的兼容程度。Interop 2022 仪表板 有一个评分系统,评估各大浏览器的整体兼容程度: 这玩意全年不断更新,还会实时显示各大浏览器的工程师修复错误、实现新功能和改进测试的进展,以及在每个标准的工程进度: 题外话 而 Apple 网络开发布道者 Jen Simmons 在 Interop 2022 的博客中说:“Apple 非常关心 Web 的健康,以及 Web 标准的可互操作(兼容性)实现。”这似乎跟大多数前端人员的实际想法有些出入...

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

超强实时跟踪系统首次开源!支持跨镜头、多类别、小目标跟踪!

在琳琅满目的视觉应用中,对车辆、行人、飞行器等快速移动的物体进行实时跟踪及分析,可以说是突破安防、自动驾驶、智慧城市等炙手可热行业的利器。 但要实现又快又准的持续跟踪,往往面临被检目标多、相互遮挡、图像扭曲变形、背景杂乱、视角差异大、目标小且运动速度快等产业难题。 ▲视频引用公开数据集[1][2][3][4] 那如何快速获得这个能力呢?今天给大家介绍的不仅仅是单独的智能视觉算法,而是一整套多功能多场景的跟踪系统——PP-Tracking。‍ 它融合了目标检测、行人重识别、轨迹融合等核心能力,并针对性地优化和解决上述实际业务的痛点难点,提供行人车辆跟踪、跨镜头跟踪、多类别跟踪、小目标跟踪及流量计数等能力与产业应用,还支持可视化界面开发,让你快速上手、迅速落地。 ⭐项目链接 ⭐ https://github.com/PaddlePaddle/paddledetection 想了解这套超强目标跟踪系统的详细结构、优势亮点及使用方法?下面带大家来快速领略下。 功能丰富效果佳 PP-Tracking 内置 DeepSORT[6]、JDE[7]与 FairMOT[8]三种主流高精度多目标跟踪模型,并针对产业痛点、结合实际落地场景进行一系列拓展和优化,覆盖多类别跟踪、跨镜跟踪、流量统计等功能与应用,可谓是精度、性能、功能丰富样样俱全。 >> 单镜头跟踪 单镜头下的单类别目标跟踪是指在单个镜头下,对于同一种类别的多个目标进行连续跟踪,是跟踪任务的基础。针对该任务,PP-Tracking 基于端到端的 One Shot 高精模型 FairMOT[8],替换为更轻量的骨干网络 HRNetV2-W18,采用多种Tricks,如 Sync_BN与EMA,保持性能的同时大幅提高了精度,并且扩大训练数据集,减小输入尺寸,最终实现服务端轻量化模型在权威数据集 MOT17上精度达到MOTA 65.3,在 NVIDIA Jetson NX 上速度达到23.3FPS,GPU 上速度可达到60FPS!同时,针对对精度要求较高的场景,PP-Tracking 还提供了精度高达MOTA75.3的高精版跟踪模型。 ▲视频引用公开数据集[3] >>多类别跟踪 PP-Tracking 不仅高性能地实现了单镜头下的单类别目标跟踪,更针对多种不同类别的目标跟踪场景,增强了特征匹配模块以适配不同类别的跟踪任务,实现跟踪类别覆盖人、自行车、小轿车、卡车、公交、三轮车等上十种目标,精准实现多种不同种类物体的同时跟踪。 ▲视频引用公开数据集[2] >>跨镜头跟踪 安防场景常常会涉及在多个镜头下对于目标物体的持续跟踪。当目标从一个镜头切换到另一个镜头,往往会出现目标跟丢的情况,这时,一个效果好速度快的跨镜头跟踪算法就必不可少了!PP-Tracking 中提供的跨镜头跟踪能力基于 DeepSORT[6]算法,采用了百度自研的轻量级模型 PP-PicoDet 和 PP-LCNet 分别作为检测模型和 ReID 模型,配合轨迹融合算法,保持高性能的同时也兼顾了高准确度,实现在多个镜头下紧跟目标,无论镜头如何切换、场景如何变换,也能准确跟踪目标的效果。 ▲视频引用公开数据集[2] >>流量监测 与此同时,针对智慧城市中的高频场景—人/车流量监测,PP-Tracking 也提供了完整的解决方案,应用服务器端轻量级版 FairMOT[8]模型预测得到目标轨迹与 ID 信息,实现动态人流/车流的实时去重计数,并支持自定义流量统计时间间隔。 为了满足不同业务场景下的需求,如商场进出口人流监测、高速路口车流量监测等,PP-Tracking 更是提供了出入口两侧流量统计方式。 ▲视频引用公开数据集[2] 复杂场景覆盖全 >>行人、车辆跟踪 智慧交通中,行人和车辆的场景尤为广泛,因此 PP-Tracking 针对行人和车辆,提供对应的预训练模型,大幅降低开发成本,节省训练时间和数据成本,实现业务场景直接推理,算法即应用的效果!不仅如此,PP-Tracking 支持显示目标轨迹,更直观地辅助实现高效的路径规划分析。 ▲视频引用公开数据集[2] >>人头跟踪 不仅如此,除了在日常跟踪任务中拥有极强的通用性,针对实际业务中常常出现目标遮挡严重等问题,PP-Tracking也进行了一系列优化,提供了基于 FairMOT[8]训练的人头跟踪模型,并在Head Tracking 2021数据集榜单位居榜首,助力 PP-Tracking 灵活适配各类行人场景。 ▲视频引用公开数据集[5] >> 小目标跟踪 针对小目标出现在大尺幅图像中的产业常见难题场景,PP-Tracking 进行了一系列的优化,提供专门针对小目标跟踪的预训练模型,实现在特殊场景,如无人机等航拍场景下,也能达到较为精准的效果。 ▲视频引用公开数据集[2] 两种使用模式 训练推理灵活掌握 为了满足不同的开发需求,PP-Tracking 支持两种使用方式,无论是想通过代码调用/训练模型,进行快速推理部署,还是想要零代码直接上手使用功能,PP-Tracking 通通满足你! >> API 代码调用: API 简洁易用,支持模型调用、训练与推理部署,最大程度降低开发成本的前提下,灵活适配各类场景与任务。 >> 可视化开发界面: 囊括所有功能与应用,无需任何开发,即可实现全部任务功能,便于集成于各类硬件。 更贴心的是,PP-Tracking 支持 Python、C++两种部署语言,同时提供使用飞桨原生推理库 Paddle Inference 和飞桨服务化推理框架 Paddle Serving 的保姆级部署教程,真正意义上打通从训练、推理到部署的全流程。 产业场景快速融合 这么厉害的实时跟踪系统在实际落地中的表现如何呢?接下来,让我们看看 PP-Tracking 的实际业务落地效果吧。 以人流量计数为例,在上海音智达公司的实际业务中,使用 PP-Tracking 中的服务端轻量化版 FairMOT[8],结合人流量计数功能,快速实现商圈出入口的实时人流量去重计数。 ▲视频引用公开数据集[3] 被应用于自动驾驶、安防、交通、城市等多种领域的目标跟踪你学会了么? 点击进入获得更多技术信息~~

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

Linux Lab v0.8 发布,首次开展线上视频发布会

Linux Lab是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单! 可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编程等。 已经跃跃欲试了?!快来看看: Linux Lab 公开课 Linux Lab Disk 最新功能演示 在 Windows 下即插即用 Linux Lab Disk Linux Lab v0.8 发布会视频回放 Linux Lab v0.8 中文手册 Linux Lab v0.8 英文手册 Linux Lab:难以抗拒的十大理由 v1.0 Linux Lab:难以抗拒的十大理由 v2.0 Linux Lab 龙芯实验手册 Linux Lab 实验盘直接内置了 Linux Lab 和另外两套实验环境:Linux 0.11 Lab和CS630 Qemu Lab,可以分别用于学习 Linux 0.11 内核和 Linux X86 汇编语言。在某宝检索 “Linux Lab真盘” 可以选购各种容量、外观和系统的 Linux Lab Disk。 版本更新 Linux Lab 于 6 月初发布了v0.7正式版本,同步发布了 Cloud Lab v0.5。 经过 4 个月的开发,本次发布v0.8,新增 LLVM/Clang, Rust 和 openEuler 支持,同步发布 Cloud Lab v0.6,并升级 Docker 镜像。 期间,Linux Lab 实验盘(Linux Lab Disk)进一步新增了 Deepin 20.2, Fedora 34 和 Manjaro 系统支持。 本次相比 v0.7 版本,合计 155 笔变更,本次主要更新如下: v0.8 镜像中新增 mipsel 4.3/4.7 编译器 90% 的开发板内核版本升级到 v5.13 新增 linux 和 buildroot targets,未来直接允许使用 pkg 的名字作为任务目标 v0.8 rc3 新增 Rust for Kernel 开发支持 新增 openEuler Kernel 开发支持 新增 LLVM/Clang 编译支持,make kernel LLVM=1 新增 rust 环境安装脚本 Pocket Linux Disk 和 Linux Lab Disk 相继支持 Fedora v0.8 rc2 Pocket Linux Disk 和 Linux Lab Disk 相继支持 Manjaro 早期文档中描述的更新步骤较重,替换为更为轻量级的更新步骤 修复 MacOS 上的 i386/pc 支持 进一步清理 rootfs 各种格式的依赖关系 进一步优化 make debug,确保 debug 基于最新的改动 清理不必要的 1234 端口映射,该部分可以让用户按需开启 v0.8 rc1 发布了首支 Pocket Linux Disk Pocket Linux Disk 和 Linux Lab Disk 相继支持 Deepin 特别致谢 Linux Lab v0.8 新增功能主要来自开源之夏 2021的开发成果,感谢所有参与开发的同学与老师们。 相关开发记录回顾: Linux Lab 新增 Rust for Linux 开发支持 Linux Lab 新增 openEuler kernel 开发支持 x86_64/pc aarch64/virt Linux Lab 多系统安装包支持 Linux Lab 新增 OpenEuler 镜像支持 环境准备 在非 Ubuntu 平台,请提前自行安装好 docker,可参考Docker for Mac、Docker for Windows。 如果是老版本的 Windows,可以用Docker Toolbox,也可以通过 Virtualbox 或 Vmware 自行安装 Ubuntu。 国内的同学请务必使用国内的 Docker 镜像服务,否则无法正常下载镜像,推荐参考阿里云镜像配置文档。 下面的链接是大家成功运行过 Linux Lab 的主机环境,欢迎参考,安装完以后也欢迎登记上来。 成功运行过 Linux 的操作系统和 Docker 版本列表 极速体验 该版本依赖最新的 Cloud Lab 和 docker 镜像: $ git clone https://gitee.com/tinylab/cloud-lab.git $ cd cloud-lab $ tools/docker/run linux-lab 已经下载过的,请更新到最新版本并重启 Linux Lab: $ cd cloud-lab && git pull $ pushd labs/linux-lab && git pull && popd $ tools/docker/rerun linux-lab 进去以后,打开控制台,敲入如下命令即可启动一个虚拟开发板(自动下载预编译的版本): $ make boot 一键编译和启动(自动下载源码、检出版本、打补丁、配置、编译): $ make boot BUILD=kernel 默认使用的是arm/vexpress-a9,如果要使用本次新增的真实开发板,在购买并连接串口和网口到开发主机后,可以简单切换: $ make BOARD=arm/ebf-imx6ull $ make login 真实开发板与虚拟开发板用法有细微差异,其详细用法请参考:boards/arm/ebf-imx6ull/README.md。 关键特性 Linux Lab 具备如下特性: 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。 支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。 支持 ~20 款开发板(i386/pc, x86_64/pc, arm/versatilepb, arm/vexpress-a9, ppc/g3beige, mips/malta, aarch64/virt, aarch64/raspi3, riscv32/virt, riscv64/virt, csky/virt, loongson/ls1b, loongson/ls2k, loongson/ls232, loongson/ls3a7a, arm/ebf-imx6ull)。 支持 5 种登陆方式(docker, ssh, vnc,webssh, webvnc),可以本地访问,也可以远程访问。 集成了 5 大组件(Qemu、U-boot、Buildroot、Linux、Toolchain),都有预编译版本。 内置了 5 大平台,32 位和 64 位共 10 个 Hello World 汇编语言例程,见examples/assembly。 可以学习处理器指令集、Qemu、Shell、汇编、C、Linux 内核、嵌入式 Linux。 支持 Debugging 和 Testing。 host & guest 双侧免 root 使用。 可选购即插即用的 Linux Lab 实验盘。 更多信息: 项目首页 Homepage:http://tinylab.org/linux-lab 项目社群 联系微信:tinylab 联系公号:泰晓科技 Linux Lab 用户交流群 Linux Lab 开发者 项目仓库 Gitee:https://gitee.com/tinylab/linux-lab Github:https://github.com/tinyclub/linux-lab 视频教程 Linux Lab 入门 基于 Linux Lab 进行龙芯 Linux 内核开发 Linux Lab Disk 最新功能演示 在 Windows 下即插即用 Linux Lab Disk 欢迎通过微信号(tinylab)联系我们,联系后可以获邀进Linux Lab 用户交流群和Linux Lab 开发者群,也可联系洽谈企业定制服务。

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

微软在2021年的首次安全更新中修复了83个漏洞

微软在2021年1月12日发表了补丁程序,它是2021年的第一个Microsoft安全更新版本。 随着2021年1月补丁的安全更新发布,Microsoft已发布了针对83个漏洞的修复程序,其中10个漏洞被分类为“高危”,而73个漏洞被分类为“重要”。 修复了0 day漏洞和公开披露的漏洞 作为2021年1月安全更新的一部分,Microsoft修复了一个0 day漏洞和一个以前公开披露的漏洞。 Microsoft说,他们已修复CVE为202-1647的0 day Microsoft Defender远程执行代码漏洞。 如下所示,此零日漏洞已在Microsoft恶意软件保护引擎1.1.17700.4版或更高版本中得到修复。要检查Microsoft Defender引擎的安装版本,可以使用本指南中的说明。 Microsoft Defender保护引擎的修补程序版本 Microsoft还修补了一个公开披露的Microsoft splwow64特权提升漏洞,该漏洞跟踪为 CVE-2021-1648。Google Project Zero之前于2020年9月根据CVE-2020-0986披露了此漏洞。 PsExec 本月, 0patch服务发布了Sysinternals PSExec实用程序中特权升级漏洞的免费补丁。 PsExec是免费的Microsoft Sysinternals工具,允许系统管理员在远程系统上执行程序。虽然它没有与Windows捆绑在一起,但是管理员和企业软件通常使用它来远程启动程序,启动更新或执行其他管理任务。 由于它是在企业环境中发现的常见程序,因此该漏洞可能允许攻击者提升权限。 Microsoft尚未发布此漏洞的正式补丁。 其他公司的最新更新 一月份发布更新的其他供应商包括: · Adobe今天发布了许多针对Photoshop,Illustrator,Animate等的修复程序。 · Android的1月安全更新已于 上周发布。 · 苹果 于1月11日发布了iOS 12.5.1。 · 思科 发布了针对思科自适应安全设备(ASA)软件和思科Firepower威胁防御(FTD)软件的安全更新。 · SAP 发布了2021年1月的安全更新。 2021年1月Microsoft补丁安全更新 以下是2021年1月补丁更新中已解决的漏洞和已发布的通报的完整列表。要访问每个漏洞及其影响的系统的完整描述,您可以在原文中查看完整的报告。 本文翻译自:https://www.bleepingcomputer.com/news/microsoft/microsoft-january-2021-patch-tuesday-fixes-83-flaws-1-zero-day/如若转载,请注明原文地址。

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

SIGCOMM2019阿里巴巴首次发表两篇主会论文

经过多年的积累,阿里巴巴的网络研究和技术已经进入世界前列。今年阿里巴巴在SIGCOMM上实现了主会论文的历史性突破:来自阿里云智能的两篇论文《HPCC: High Precision Congestion Control》和《Safelyand Automatically Updating In-Network ACL Configurations with Intent Language》在与国际各大著名高校和科技公司的竞争中脱颖而出,从220多篇投稿论文中被录取进入32篇主会论文行列,并在主会受邀作出现场报告。阿里巴巴是今年唯一有SIGCOMM主会论文发表的中国公司,并且超出了谷歌、亚马逊、脸书等一线互联网公司。两篇论文分别将于8月20日1:30pm、8月21日下午1:55pm进行公开演讲。 SIGCOMM是网络领域的顶级学术会

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

AI收银员火了 阿里云AI产品体系首次全方位公开

昨天,刚刚上任的AI收银员就让阿里云官抖收获了第一条10万+,嗯就是下面这个视频。 人类在点餐速度上输给了AI,面对每秒速5个字的点单需求:“五个巧克力、两个香草拿铁,巧克力加奶油……”咖啡师总共花费2分37秒点完30多杯咖啡。而AI,仅仅用了49秒。 其实AI收银员的能力就来自于阿里云的AI产品和技术,除了可以做收银员之外,阿里云的智能语音技术还在上海地铁卖起了票,全程语音控制,购票时长仅需要10秒。 曾经的AI只会下棋,今天Alibaba Intelligence 已⼤规模应⽤在各个领域:ET城市大脑、淘宝小蜜、无人超市、工业大脑…… 自2015年起,阿里云陆续推出了多款AI产品,除了语音识别,还有图像识别、视觉识别……等130多款细分产品,适用于300多个场景,这些能力都经过实践检验,在产业场景下发挥价值,更具生命力。 5月23日,2

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

阿里云计算能力实现新突破 BigBench全球首次达到100TB

在10月11日开幕的“2017杭州·云栖大会”首日主论坛,阿里云总裁胡晓明重点介绍新一代计算平台MaxCompute+PAI。 在12日的主论坛中,阿里巴巴集团副总裁,搜索事业部&计算平台事业部负责人周靖人说,数据是机器智能创新的基础,拥有充沛的计算能力才能全面释放数据的价值。随后周靖人与英特尔公司数据中心事业部副总裁Rob Hays共同进行BigBench On MaxCompute[1] 2.0+PAI的重磅发布。本次发布突破了TPCx-BB[2] 公布的各项历史最佳成绩,体现出MaxCompute极强的大规模数据处理能力以及公共云相对传统模式的绝对优势。 目前TPC官网公布的测试最大规模为10TB,最佳性能1491.23BBQpm,最高性价比589 Price/BBQpm。而此次阿里云发布的BigBench on Max

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册