首页 文章 精选 留言 我的

精选列表

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

官方详解UOS与Deepin OS区别:UOS是商业版

1月14日,统信软件宣布国产OS——UOS统一操作系统的正式版正式发布,首先推出的是面向合作伙伴的版本。很多之前试用过UOS的玩家都知道,UOS实际上就是以武汉深度的Deepin系统为基础开发的,那这两者之间有什么区别呢? Deepin社区前几天也发表过一次Q&A问答,解释过UOS与Deepin OS之间的关系,简单如下: ·什么是UOS?它与Deepin有什么不同? UOS是Linux在中国的商业发行版,主要开发工作由Deepin团队完成,UOS与Deepin的关系就像是Fedora和Redhat RHEL那样。 ·UOS会取代Deepin吗? Deepin是社区版,不会被UOS取代,UOS只用于商业用途。 ·Deepin V20版的进度如何? UOS与Deepin V20系统是并行开发的,大部分功能及资源库都是一样的。UOS基于Deepin系统,因此Deepin系统会更早得到一些功能更新,UOS更新慢一些但会得到完整商业支持。 Deepin V20系统预计会在2月底完成开发,2020年3月份预计发布beta版以便公众测试。 Deepin V20会在中国境之外的地区进行测试吗? 当然,会有一个beta版供用户进行整体测试,过去、现在和将来,Deepin都会始终适用于全球用户和社区,欢迎使用Deepin并邀请更多用户来协助我们测试Deepin V20系统。 Deepin V20中的Root权限是否会受到限制 Root权限不会受到限制,默认就可以使用Root权限。如果是非技术用户安装了Deepin系统,为了避免危险的操作危及系统,你可以自由打开Root权限限制。 PS:很多人对Deepin系统不太了解,简单来说它也是全球众多Linux发行版之一,虽然名气、受众比不上Ubuntu等,但是深度公司做Deepin系统十年了,这个系统还是很有特色的,在国外也颇受欢迎,在distrowatch上受欢迎程度排第十,已经很不容易了。 有兴趣的可以试下最新的RC版,网络上有人分享过ISO镜像(X86_64)下载:https://pan.baidu.com/s/1c5C6uCvf9DWyXRTbsWWjjQ (提取码45b8) 文

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

阿里巴巴小程序繁星计划 官方钉群正式上线

3月21日,在2019阿里云峰会·北京上,阿里巴巴旗下的阿里云、支付宝、淘宝、钉钉、高德等联合发布“阿里巴巴小程序繁星计划”:提供20亿元补贴,扶持200万+小程序开发者、100万+商家。凡入选“超星”的小程序,入驻支付宝、淘宝、钉钉、高德后还能得到流量重点支持。 阿里云同时发布小程序云,提供一站式云服务,为开发者提供稳定和便捷的后端云服务,包括serverless开发套件、应用托管服务、函数计算等。支付宝、高德、淘宝、钉钉及众多第三方上亿流量的小程序后端获统一标准。开发者可在这些小程序端上进行统一的应用发布、资源管理、数据管理。 未来,阿里巴巴商业操作系统的业务能力也将在小程序云上逐步开放,帮助电商、金融、生活服务等各行业开发者和企业客户快速链接阿里巴巴经济体生态。 阿里巴巴小程序云应用已经正式启动,已获得广大开发者的热烈关注,为了和

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

Adopt Open JDK官方文档(二)如何使用导航和取得进步?

2.如何使用导航和取得进步 在黑客日和讲习班开始之前我需要做些什么呢 来之前你应该准备好你的笔记本电脑并搭建好当天需要的环境 检查硬件要求/操作系统/软件要求 下载支撑软件 搭建或者下载虚拟机 搭建或者下载Docker镜像 检查虚拟机和Docker镜像是否正常工作 检查OpenJDK是否正常工作 在“参加黑客日和讲习班之前应该如何准备”中查看对于以上几点的详细解释。如果这个对你来说不适用或者你已经完成了这些工作那么请看下面的部分。活动当天如何在你的机器上搭建环境 看完“参加黑客日和讲习班之前应该如何准备”之后请看“活动当天如何在你的机器上搭建环境”。如果这个对你来说不适用或者你已经完成了这些工作那么请看下面的部分。 我是学生/初学者对Adopt OpenJDK一点都不熟悉希望学习以前从未参加过OpenJDK黑客日我该如何开始 请看“初等级别”中的步骤 我是学生/专业人士对Adopt OpenJDK不是很熟悉以前参加过OpenJDK黑客日我该从哪里继续 请看“中等级别”中的步骤 我是专家/专业人士对OpenJDK黑客日很熟悉对相关技术/Java/JVM/OpenJDK非常熟悉我能从你们这里得到哪些好处请看“高等级别”中的步骤 我在家有充裕的时间和带宽我该如何利用或者说参加完黑客日和讲习班后我应该做什么。 请看“利用你的时间去学习的最好方法”。 我有一些想法而且我希望分享并且希望对这本书有所贡献 请看“如何对这本书做出贡献” 2.1. 初等级别 我是学生/专业人士对Adopt OpenJDK不是很熟悉以前参加过OpenJDK黑客日我该如何开始 “Adopt OpenJDK – 入门指南” – 简单地阅读一下这些网页和子网页当你在家的时候或者空闲的时候认真阅读。 “虚拟机”– 浏览这些网页并根据带宽和时间来建立和下载虚拟机。或者向辅助商请在相关网页查看更详细的说明索取虚拟机镜像。 “建立你自己的OpenJDK” – 浏览这个部分并用你通过前面几个步骤中搭建好的虚拟机来搭建不同版本的OpenJDK。 接下来请看“中等级别” 2.2. 中等级别 我是学生/专业人士对Adopt OpenJDK不是很熟悉以前参加过OpenJDK黑客日我该从哪里继续 •“搭建你自己的虚拟机”或“搭建你自己的轻量级虚拟机”然后看“在Host 与 Guest VM 之间共享文件”最后看“源代码”。 •如果想获取OpenJDK目录和文档结构的概览请看“各个OpenJDK的文档结构” •请先试一试“改变Random.java类”。 •在进行下一步之前请先阅读“如何使用JTReg… – JAVA回归测试工具”来了解JAVA的回归测试框架 •接着试试“改变StringBuffer.java类来添加一个新的方法” •看看“OpenJDK项目”和“Adopt OpenJDK项目” •“测试JAVA早期项目” •“OpenJDK项目代码分析”和“OpenJDK代码覆盖率”有趣 •“补丁 – 如何创建和提交他们” – 如何创建补丁和提交给OpenJDK小组 •看一下“OpenJDK漏洞数据库 (JIRA)” •“OpenJDK9 – jimage”有趣 •最后请看“高等级别” 2.3.高等级别 我是专家/专业人士对OpenJDK黑客日很熟悉对相关技术/Java/JVM/OpenJDK非常熟悉我能从你们这里得到哪些好处 •”构建性能优化的命令行参数” •好好看看“高级阶段”吧。 •最后如果你已经完成了上述步骤看下“目录”看看还有哪些你没有看的。 2.4. 有空有带宽 我在家有充裕的时间和带宽我该如何利用或者说参加完黑客日和讲习班后我应该做什么。 好好看看下面这几个部分吧 •“Adopt OpenJDK 入门指南” •“虚拟机” •“二进制” 如果你完成了看看“目录”然后还有没有你没有看过的 2.5. 如何对本书做出贡献 通过GitBook 在Gitbook.com上建立账户申请成为Adopt OpenJDK GitBook的合作者 一些说明文档和如何安装GitBook应该会对你有帮助 通过GitHub 1.建立一个分支浏览这个网站来看如何建立分支 https://github.com/neomatrix369/adoptopenjdk-getting-started-kit#fork-destination-box 2.把你的版本复制到你的工作空间里 git clone git@github.com:{YOUR_GITHUB_ACCOUNT}/adoptopenjdk-getting-started-kit.git 3.添加Upstream git remote add –track master upstream git://github.com/neomatrix369/adoptopenjdk-getting-started-kit.git 现在你就可以修改原是仓库中你的分支了git fetch upstream和git merge upstream/master 1.提交修改后的文件git addgit commit -am "meaningful description about your changes" 2.推送文件git push 3.建立一个pull请求在GitHub中查看你的仓库https://github.com/{YOUR_GITHUB_ACCOUNT}/adoptopenjdk-getting-started-kit/pulls点击New Pull Request按钮来新建 如何确认本书的修改 我们在repo的根文件夹中有两个脚本可以产生哪里发生了改变的标记页像这样。 生成哪里发生了改变的标记的脚本叫做whatsChanged.sh和whatsChangedForAllLanguages.sh 请随意改进以便使它能够持续不断地发挥它的作用甚至变得更好。 2.6. 参加黑客日和讲习班之前应该如何准备 注如果你遇到问题请参考“Known issu”如果在那里无法找到解决方法请“Contribute to this book”或者“报告给我们”。 硬件要求/操作系统/软件要求 以下是创建和使用虚拟机的硬件要求 64-bit CPU running (> 2.0 Ghz) 64-bit OS (Linux, MacOS, Windows) 20-25 GB free disk space minimum 4-8 GB RAM minimum 平台/软件要求 VirtualBox installed Java 7 and 8 installed* Vagrant installed Docker installed 可选 Boot2Docker installed可选 *取决于你是在本地构建OpenJDK 还是在虚拟机或者Vagrant或者Docker你需要将它下载到虚拟机或者本机中 其他要求: 了解Java 了解如何创建系统, maven, git, 等… Linux和bash的一些经验 关于OpenJDK的一些知识 关于vagrant (可选,除非你将要使用这项技术来工作)的一些经验 docker(可选,除非你将要使用这项技术来工作)的一些经验 下载支撑软件 VirtualBox (用来载入虚拟机): https://www.virtualbox.org/ Java (安装在虚拟机中): http://www.oracle.com/technetwork/java/javase/ Vagrant (用来启动vagrant boxes) https://www.vagrantup.com/ 可选 Docker: https://docs.docker.com/installation/#installation Boot2Docker: http://boot2docker.io/ IntelliJ: https://www.jetbrains.com/idea/ Eclipse: https://eclipse.org/ Netbeans: https://netbeans.org/ SonarQube: http://www.sonarqube.org/ 下载和复制做好的虚拟机 下载下列虚拟机 – Ubuntu 12.04 VM with OpenJDK9 (jigsaw) with Sources and IntelliJ: https://copy.com/tA0l06zDrJNNDKVL 帐号: openjdk 密码: openjdk123 你也可以通过移动硬盘将虚拟机镜像拷贝到本地磁盘 加载镜像可以通过 File | Import Appliances… VirtualBox main menu. 在本地或者云中创建OpenJDK 在“Building OpenJDK 9”中查看如何在运行在你电脑甚至是云里的操作系统如Linux, MacOS或Windows中构建OpenJDK 验证安装和环境 在你的本机或者虚拟机中进入openjdk*文件夹然后运行以下命令见Build OpenJDK 9: *openjdk – sources/jdk9 or dev/jdk9_dev 作为虚拟机你可以下载或复制Vagrant boxes或Docker image已经有创建好的镜像你可以在讲习班继续使用无需修改基于代码的更新并重新编译。 bash get_source.sh 因此请不要在vagrant box或Docker containers虚拟机中运行上面的命令。因为这会导致等待镜像完成编译或者有时候编译中断这会需要大量的投入和修复工作。 所以应该运行以下两段命令: bash configure –disable-warnings-as-errors make images 注请同样避免 ‘make clean images’ 命令除非真的必要否则将需要等待到整个编译过程完成。 如果以上命令中的任何一个失败那么OpenJDK环境 最后 完成后请进入“How to navigate and make progress ? ”顺着流程进入下一步。 对于那些能够顺利完成以上步骤并且想了解Vagrant和Docker脚本的有经验的用户可以查看“ Additional pre-hackday actions for experienced attendees”。 2.7. 有经验的参加者的额外动作 建立你自己的虚拟机 注你需要很好的带宽来下载文件以及大量的时间来创建。不是通过wifi连接完成。 “Build your own VM ” “Build your own light-weight VM” 检查虚拟机 将虚拟机载入VirtualBox 启动虚拟机 在虚拟机中运行一些程序 关闭虚拟机 下载/复制Docker镜像 一旦镜像下载完成可以在不同的设备之间复制详情见”Copy Images” 或者 创建镜像 在Docker images下的“Build Images”里查看 检验安装和环境 启动虚拟机或者Docker Container进入jdk8或jdk9所在文件夹运行以下命令 bash configure make clean images. 如果他们中的任何一个运行失败了就说明环境没有设置正确或者创建过程在OpenJDK master中中断 最后 完成后请进入“How to navigate and make progress ? ”顺着流程进入下一步。 2.8. 当天如何设置你机器中的环境 注如果你遇到问题请参考“Known issu”如果在那里无法找到解决方法请“Contribute to this book”或者“报告给我们” 在本地或者云中创建OpenJDK 注除非你有很高的网络带宽否则请不要尝试在本地创建OpenJDK 你无需复制任何东西只需要在云服务提供商如亚马逊或其他提供者那里注册一下。 实例化一个运行你选择的系统的box然后按照“Adopt OpenJDK Build Instruction”中提到的步骤我们推荐Linux发行版如Ubuntu或Fedora或Centos 在Virtualbox虚拟机中创建OpenJDK 将下列文件从移动设备中复制到你的机器 VirtualBox for Ubuntu/[binaries] or VirtualBox for MacOS/[binaries] or VirtualBox for Windows/[binaries] OpenJDK VM Images/OpenJDK9_Jigsaw_vm or OpenJDK VM Images/OpenJDK VM with no IDE support or OpenJDK VM Images/OpenJDK VM with Eclipse OpenJDK VM Images/OpenJDK VM passwords.txt 安装VirtualBox 运行VirtualBox Oracle VirtualBox 导入各自的虚拟机不要创建新的VirtualBox设置 启动虚拟机 最后进入“Building OpenJDK 9”这个章节 在Vagrant script创建的虚拟机中创建OpenJDK 将下列文件从移动设备中复制到你的机器: Vagrant/. Vagrant/openjdk-vagrant-images Vagrant/[binaries] 安装Vagrant并确保其在各自的环境中正常工作 解压Vagrant文件夹中的.tar.gz文件 阅读README.md来了解各个脚本文件是做什么的 确定之后使用这些脚本 注不要通过执行Vagrantfile来创建镜像 – 这需要很长时间已经很高的网络带宽 注没有针对Windows的脚本欢迎贡献 在Docker script创建的容器中创建OpenJDK 将下列文件从移动设备中复制到你的机器 Docker/*.* Docker/OpenJDK9 Docker/OpenJDK9-baseimage 安装Docker和Boot2Docker并确保其在各自的环境中正常运行 阅读README.md来了解各个脚本文件是做什么的 确定之后使用这些脚本 用loadImageToFile.sh脚本来加载docker镜像到你本地的仓库 注不要通过执行Dockerfile 来创建镜像 – 这需要很长时间已经很高的网络带宽 注没有针对Windows的脚本欢迎贡献 最后 完成后请进入“How to navigate and make progress ? ”顺着流程进入下一步。 转载自并发编程网 - ifeve.com

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

Apache Storm 官方文档 —— 理解 Storm 拓扑的并行度(parallelism)概念

一个运行中的拓扑是由什么构成的:工作进程(worker processes),执行器(executors)和任务(tasks) 在一个 Storm 集群中,Storm 主要通过以下三个部件来运行拓扑: 工作进程(worker processes) 执行器(executors) 任务(tasks) 下面是他们之间相互关系的简单图示。 在 Worker 中运行的是拓扑的一个子集。一个 worker 进程是从属于某一个特定的拓扑的,在 worker 进程中会运行一个或者多个与拓扑中的组件相关联的 executor。一个运行中的拓扑就是由这些运行于 Storm 集群中的很多机器上的进程组成的。 一个 executor 是由 worker 进程生成的一个线程。在 executor 中可能会有一个或者多个 task,这些 task 都是为同一个组件(spout 或者 bolt)服务的。 task 是实际执行数据处理的最小工作单元(注意,task 并不是线程) —— 在你的代码中实现的每个 spout 或者 bolt 都会在集群中运行很多个 task。在拓扑的整个生命周期中每个组件的 task 数量都是保持不变的,不过每个组件的 executor 数量却是有可能会随着时间变化。在默认情况下 task 的数量是和 executor 的数量一样的,也就是说,默认情况下 Storm 会在每个线程上运行一个 task。 配置拓扑的并行度(parallelism) 注意,这里所说的术语“并行度”主要是用于表示所谓的parallelism_hint,它代表着一个组件的初始 executor (也是线程)数量。在这篇文章里,我们使用这个“并行度”术语来说明在 Storm 拓扑中既可以配置 executor 的数量,也可以配置 worker 和 task 的数量。如果“并行度”的概念需要表示其他的一般情况,我们也会特别指出。 下面的内容里显示了很多可配置选项,以及在代码中配置他们的方法。可以用于配置的方法有很多种,这里列出的只是其中一部分。另外需要注意的是,Storm 的配置优先级为defaults.yaml<storm.yaml< 拓扑配置 < 内置型组件信息配置 < 外置型组件信息配置。 Worker 数量 说明:拓扑在集群中运行所需要的工作进程数 配置选项:TOPOLOGY_WORKERS 在代码中如何使用(示例): Config#setNumWorkers Executors(线程)数量 说明:每个组件需要的执行线程数 配置选项:(没有拓扑级的通用配置项) 在代码中如何使用(示例): TopologyBuilder#setSpout() TopologyBuilder#setBolt() 注意:从 Storm 0.8 开始parallelism_hint参数代表 executor 的数量,而不是 task 的数量 Tasks 数量 说明:每个组件需要的执行任务数 配置选项:TOPOLOGY_TASKS 在代码中如何使用(示例): ComponentConfigurationDeclarer#setNumTasks() 以下是配置上述参数的一个简单示例代码: topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2) .setNumTasks(4) .shuffleGrouping("blue-spout); 在上面的代码中,我们为GreenBolt配置了 2 个初始执行线程(executor)和 4 个关联任务(task)。这样,每个执行线程中会运行 2 个任务。如果你在设置 bolt 的时候不指定 task 的数量,那么每个 executor 的 task 数会默认设置为 1。 拓扑示例 下图显示了一个与实际应用场景很接近的简单拓扑的结构。这个拓扑由三个组件构成:一个名为BlueSpout的 spout,和两个名为GreenBolt和YellowBolt的 bolt。这些组件之间的关系是:BlueSpout将它的输出发送到GreenBolt中,然后GreenBolt将消息继续发送到YellowBolt中。 图中是一个包含有两个 worker 进程的拓扑。其中,蓝色的BlueSpout有两个 executor,每个 executor 中有一个 task,并行度为 2;绿色的GreenBolt有两个 executor,每个 executor 有两个 task,并行度也为2;而黄色的YellowBolt有 6 个 executor,每个 executor 中有一个 task,并行度为 6,因此,这个拓扑的总并行度就是 2 + 2 + 6 = 10。具体分配到每个 worker 就有 10 / 2 = 5 个 executor。 上图中,GreenBolt配置了 task 数,而BlueSpout和YellowBolt仅仅配置了 executor 数。下面是相关代码: Config conf = new Config(); conf.setNumWorkers(2); // use two worker processes topologyBuilder.setSpout("blue-spout", new BlueSpout(), 2); // set parallelism hint to 2 topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2) .setNumTasks(4) .shuffleGrouping("blue-spout"); topologyBuilder.setBolt("yellow-bolt", new YellowBolt(), 6) .shuffleGrouping("green-bolt"); StormSubmitter.submitTopology( "mytopology", conf, topologyBuilder.createTopology() ); 当然,Storm 还有一些其他的配置项可以控制拓扑的并行度,包括: TOPOLOGY_MAX_TASK_PARALLELISM:该选项设置了一个组件最多能够分配的 executor 数(线程数上限),一般用于在本地模式运行拓扑时测试分配线程的数量限制。你可以通过Config#setMaxTaskParallelism()来配置该参数。 如何修改运行中的拓扑的并行度 Storm 的一个很有意思的特点是你可以随时增加或者减少 worker 或者 executor 的数量,而不需要重启集群或者拓扑。这个方法就叫做再平衡(rebalance)。 有两种方法可以对一个拓扑执行再平衡操作: 使用 Storm UI 使用以下所示的客户端(CLI)工具 下面是使用 CLI 工具的一个简单示例: ## 重新配置拓扑 "mytopology",使得该拓扑拥有 5 个 worker processes, ## 另外,配置名为 "blue-spout" 的 spout 使用 3 个 executor, ## 配置名为 "yellow-bolt" 的 bolt 使用 10 个 executor。 $ storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10 转载自并发编程网 - ifeve.com

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

Google官方关于Android架构中MVP模式的示例续-DataBinding

基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作。 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter 模式,其中既有View Model,也有Presenter。 用到的Data Binding库保存样板代码,该代码允许将UI元素绑定到Data Model的一个属性。 布局文件中直接绑定数据到UI元素上 事件也与动作Handler进行绑定 数据可以被监听并根据需要自动同步更新 数据绑定 在上个例子中,Task描述在TaskDetailFragment中被设置: public void onCreateView(...) { ... mDetailDescription = (TextView) root.findViewById(R.id.task_detail_description); } @Override public void showDescription(String description) { mDetailDescription.setVisibility(View.VISIBLE); mDetailDescription.setText(description); } 本示例中,TaskDetailFragment会很潇洒的将Task数据传递给Data Binding层: @Override public void showTask(Task task) { mViewDataBinding.setTask(task); } 该库还会考虑到数据的显示问题,只要在布局中定义一下即可: (taskdetail_frag.xml) <TextView android:id="@+id/task_detail_description" ... android:text="@{task.description}" /> 事件绑定 数据绑定消除了findViewById(),而事件绑定则用于最小化 setOnClickListener(). taskdetail_frag.xml文件中的CheckBox,当用户触摸它时,Presenter直接被调用: <CheckBox android:id="@+id/task_detail_complete" ... android:checked="@{task.completed}" android:onCheckedChanged="@{(cb, isChecked) -> presenter.completeChanged(task, isChecked)}" /> 监听数据(Observing data) 显示任务列表的视图层(TasksFragment)只需知道列表数据为空,以便显示恰当的提示消息。它用到TasksViewModel来给布局提供该信息。当列表大小被赋值时,只有相关属性会被通知且绑定到这些属性的UI元素会被更新。 public void setTaskListSize(int taskListSize) { mTaskListSize = taskListSize; notifyPropertyChanged(BR.noTaskIconRes); notifyPropertyChanged(BR.noTasksLabel); notifyPropertyChanged(BR.currentFilteringLabel); notifyPropertyChanged(BR.notEmpty); notifyPropertyChanged(BR.tasksAddViewVisible); } 功能组件 用DataBinding库可以有多种方式来创建相关。本示例中,每个组件的职责为: Activity: 对象创建入口 Fragment: 与Android框架中的组件交互 (options menu, Snackbar, FAB, Adapter for list…) Presenter: 接收用户动作并从数据仓库中检索数据。如果它进行数据加载的工作,则去调用一个动作处理类来完成 (TasksItemActionHandler) ViewModel: 暴露数据给指定视图 有些功能没有用到 ViewModel (TaskDetail, AddEditTask) ,这时他们是直接使用Task模型的 依赖 Data Binding 库. 特征(译:废话就不再翻译了) 可测试性 单元测试 UI测试 代码量 可维护性 增添特性容易 学习成本 https://github.com/googlesamples/android-architecture/tree/todo-databinding/

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

Arm 官方认证:玄戒 O1 芯片由小米自主研发

Arm 官网重新发布新闻稿,修改了此前“Custom Silicon”的描述,确认玄戒O1由小米自主研发(Self-Developed Silicon)。 Arm在新闻稿中表示,小米全新自研芯片采用Arm架构,标志着双方15年合作的里程碑。从小米 2011 年推出的首款小米 1 智能手机,到如今的现代智能家居设备,Arm 一直是小米紧密的技术合作伙伴。 玄戒O1芯片由小米旗下玄戒芯片团队打造,采用最新的Armv9.2 Cortex CPU集群IP、Immortalis GPU IP和CoreLink系统互连IP,全面支持3nm先进制程工艺。在小米玄戒团队的后端和系统级设计下,这款芯片带来了出色的性能与能耗表现。 "Arm 很荣幸能够支持小米,助力其通过高质量、便捷的技术塑造更智能、更互联的世界。玄戒 O1 的推出是小米在先进技术创新方面迈出的重要里程碑。我们将共同不断突破智能手机、物联网、汽车等领域的性能、效率和可扩展性的界限。"

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

为庆祝 OpenWrt 20 周年,官方计划推出 OpenWrt One 路由器

根据 OpenWrt 开发者邮件列表的消息,项目贡献者 John Crispin 写道:“OpenWrt 项目即将诞生 20 周年!让我们通过推出首个完全由上游支持的硬件设计来庆祝这一周年纪念日。” 这款路由器将被命名为"OpenWrt One/AP-24.XY",硬件规格暂定如下: SoC:联发科 MT7981B Wi-Fi:联发科 MT7976C(2x2 2.4 GHz + 3x3/2x2 + 零等待 DFS 5Ghz) 内存:1 GiB DDR4 闪存: 128 MB SPI NAND+ 4 MB SPI NOR 以太网:2.5 GbE + 1 GbE USB(主机): USB 2.0-A USB(设备、主机): Holtek HT42B534-2 UART 至 USB-C 存储:M.2 2042(PCIe Gen 2 x1)NVMe SSD 按钮:2 个(复位 + 用户) 机械开关:1 个,用于启动选择(恢复、常规) LED 指示灯:2 个(PWM 驱动),2 个 ETH 指示灯(GPIO 驱动) 外部安全硬件: EM Microelectronic EM6324(GPIO 驱动) RTC:NXP PCF8563TS(I2C),带备用电池座(CR1220) 电源: USB-C 的 USB-PD-12V (通过 RT5040 模块可选 802.3at / afPoE)。 扩展:mikroBUS 认证: 符合 FCC / EC / RoHS 标准 外壳: PCB 尺寸与 BPi-R4 兼容,外壳采用可再生材料 主 SOC 的 JTAG:10 针 1.27 mm 间距(ARM JTAG / SWD) 天线连接器: 3x MMCX 原理图:将公开(许可证待定) 符合 GPL 规范: 3b. 价格目标:力争低于 100 美元 John Crispin 表示,早在 2017 年和 2018 年的 OpenWrt 峰会上,他们就首次提到要推出 OpenWrt 路由器。从 2023 年 12 月开始,他们在修复 Banana Pi 设备遇到的 bug 时就清楚地意识到,该设备已经非常接近他们想要在 17/18 年实现的目标。 Banana PI 在社区中越来越受欢迎。它们使用自编译的可信固件-A (TF-A) 和上游 U-Boot 启动,并且某些主板已经得到上游 Linux 内核的完全支持。唯一的非开源组件是在独立内核上运行的 2.5 GbE PHY 和 Wi-Fi 固件 blob,这些内核独立于运行 Linux 的主 SoC 以及在启动早期执行的 DRAM 校准例程。 OpenWrt 项目是一个针对嵌入式设备的 Linux 操作系统。OpenWrt 不是一个单一且不可更改的固件,而是提供了具有软件包管理功能的完全可写的文件系统。这使您可以从供应商提供的应用范围和配置中解脱出来,并且让您通过使用适配任何应用的软件包来定制设备。对于开发人员来说,OpenWrt 是一个无需围绕它构建完整固件就能开发应用程序的框架; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备。

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

Apache DolphinScheduler 官方发布3.2.0版本!大数据调度【重磅更新】

今天,Apache DolphinScheduler 3.2.0 版本在万众期待中终于发布了!在之前的预告中,包括《重磅预告!Apache DolphinScheduler 3.2.0 新功能“剧透”》、《3.2.0 版本预告!Apache DolphinScheduler API 增强相关功能》、《3.2.0 版本预告!远程日志解决 Worker 故障获取不到日志的问题》,以及《3.2.0 终极预告!云原生支持新增 Spark on k8S 支持》文章汇总已经大致覆盖了 3.2.0 版本的全新功能和优化。 现在,来看看新版本的全新“样貌”吧! Release Note: https://github.com/apache/dolphinscheduler/releases/tag/3.2.0 下载地址: https://dolphinscheduler.apache.org/en-us/download/3.2.0 主要更新包括: 添加默认租户 新增多种数据源 新增任务类型 重跑任务时指定工作流向前、向后运行 增加远程日志功能 参数优化 资源中心 增强页面易用性 云原生支持新增 Spark on k8S 支持 增加了部分 Restful API 注册中心增加 ETCD、JDBC 注册中心 架构优化 添加默认租户 在之前的版本中,用户部署完毕后必须手动添加租户。3.2.0 版本中添加了默认租户,方便用户更直接地使用 Apache DolphinScheduler。 新增多种数据源 新增了多个数据源,如 Snowflake、Databend、Kyuubi、Doris、OceanBase、Dameng、AzureSQL、StarRocks、AWS Athena、,并且更新了部分数据源,如 Redshift 增加 Access key。 新增任务类型 新增了多个任务类型,包括: 通用模块中,增加Remote-shell组件、Java Task Cloud模块中,新增 Amazon DMS、Azure Datafactory、AWS Database Migration,增强与各种云的互联互通 机器学习模块中,新增Kubeflow组件(基于云原生构建的机器学习任务工具大合集) 其他模块中,增加 AmazonDatasync、Apache Linkis 并更新了部分任务,如 DataX 支持 Presto,http任务增加output 参数传递,运行批量同时 kill 多个 Yarn 任务: Dependent 支持依赖自己: 支持了 Zeppelin 鉴权; 此外,任务现在可以支持缓存; Sqoop 日志支持隐藏密码; 以及 SQL 任务支持默认切割符: 新增远程日志功能 3.2.0 版本增加了远程日志功能,并同时支持了 Google Cloud Storage、Amazon S3、阿里云 OSS 日志存储,用户可以通过编辑配置文件,把日志存储到云端,解决万一意外情况发生,Woker 日志不存在,用户无法查看日志的问题。 详情参加《3.2.0 版本预告!远程日志解决 Worker 故障获取不到日志的问题》。 参数优化 增加了项目级别参数 调整参数优先级,启动参数最高 增加了内置参数计算规则 增加了文件类型的参数 云原生相关 支持 KEDA 做 worker 自动扩缩容 支持 Terraform 部署到 AWS zk 和 pg 支持多架构 提交 Spark 任务到 Kubernetes(详情见《3.2.0 终极预告!云原生支持新增 Spark on k8S 支持》) 获取 pod 实时日志 自定义 k8s 任务标签 资源中心 增加了 Alibaba Cloud OSS 、Huawei Cloud OBS、Azure Blob Storage的支持,重构资源中心并设计默认使用本地作为存储介质,重新支持了 re-upload。 资源中心容许覆盖上传,优化文件路径,显示文件的全部路径。另外,之前版本中资源中心已经上传的同类型文件只能删除后重新上传,新版本中对本功能进行了优化,可以点击上传按钮进行上传。 支持 reupload 文件 API 增强 3.2.0 版本中,增加了部分 Restful API,包括 taskInstance、workflow state、workflowInstance、workflow and schedule、task relation,且API 触发工作流运行可以获得 instance ID,从而使得 Apache DolphinScheduler 的 API 能力得到显著增强。 详情参见:《3.2.0 版本预告!Apache DolphinScheduler API 增强相关功能》 增加页面易用性 3.2.0 增加了页面易用性和便利性,如增加 workflow instance 跳转到当前工作流、复制工作流名称、调整列宽等操作。 跳转到工作流实例 复制工作流名称 调整列表名称宽度 默认情况下会有 default 租户和本地资源中心,安装后就能使用。 默认租户 允许在 workflow instance 中重新运行任务,任务运行日志更加明确。 可以重新运行任务 json 导出可阅读性加强。 注册中心 增加了 ETCD、JDBC 注册中心。 架构 Alert 支持 HA 单线程更新 Kerberos Worker server 移除了 dao 依赖 接管 task instance 失败的任务 增加动态任务组配置 重构了逻辑任务和远程命令 资源限制(cpu 内存)从原来绝对值改成百分比 支持了 SSO 其中,支持了 SSO 后,用户可以通过 Casdoor 实现 SSO 登录。Casdoor 是基于 OAuth 2.0、OIDC、SAML 和 CAS 的面向 UI 的身份访问管理(IAM)/单点登录(SSO)平台,需要先部署 Casdoor 并获取 `Client ID` 和 `Client secret` 两个字段,再修改 dolphinscheduler-api/src/main/resources/application.yaml 文件配置 SSO。 可以通过以下步骤通过 Casdoor 为 Apache Dolphinscheduler 添加 SSO 功能: security: authentication: # Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO) type: CASDOOR_SSO casdoor: # Your Casdoor server url endpoint: client-id: client-secret: # The certificate may be multi-line, you can use `|-` for ease certificate: # Your organization name added in Casdoor organization-name: # Your application name added in Casdoor application-name: # Doplhinscheduler login url redirect-url: http://localhost:5173/login 贡献者列表 感谢@zhongjiajie对此次发版的指导,以及下列贡献者的支持: 106umao, Abingcbc, AliceXiaoLu, BongBongBang, CallMeKingsley97, Chris-Arith, DarkAssassinator, EricGao888, EricPyZhou, FlechazoW, Gallardot, GavinGYM, IT-Kwj, LiXuemin, LucasClt, Mukvin, NoSuchField, Orange-Summer, QuantumXiecao, Radeity, Rianico, SYSU-Coder, SbloodyS, Tianqi-Dotes, TyrantLucifer, ZhongJinHacker, Zzih, ahuljh, alei1206, alextinng, amaoisnb, arlendp, baihongbin, bmk15897, boy-xiaozhang, c3Vu, caishunfeng, calvinjiang, darrkz, davidzollo, dddyszy, devosend, ediconss, eye-gu, fengjian1129, fuchanghai, guowei-su, haibingtown, hantmac, hdygxsj, hezean, hiSandog, hoey94, hstdream, huage1994, imizao, insist777, iuhoay, jackfanwan, jbampton, jieguangzhou, kezhenxu94, kingbabingge, labbomb, lenian, ly109974, lynn-illumio, moonkop, muggleChen, pandong2011, pppppjcc, qianli2022, qindongliang, qingwli, rickchengx, ruanwenjun, sandiegoe, seedscoder, shangeyao, shenyun, simsicon, sketchmind, stalary, tracehh, whhe, xdu-chenrj, xiaomin0322, xinxingi, xuchunlai, xxjingcd, yeahhhz, youzipi, zhangfane, zhangkuantian, zhaohehuhu,zhoufanglu, zhuangchong, zhutong6688, zhuxt2015, zzzhangqi 本文由 白鲸开源科技 提供发布支持!

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

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

用户登录
用户注册