积木

ONEBOT开发板

喜你入骨 提交于 2020-08-06 04:28:34
一种制作传感器的新方式 搭积木式制作传感器 介绍 小米生态链爱其科技推出的开源传感器创作平台,提供了机器人、物联网应用创作原型,让每个人都享受创造科技的乐趣。 为电子爱好者、DIY、创客、教育等提供了制作传感器的 新方式,全程免螺丝、免飞线,让制作传感器像拼搭积木一样简单,方便快捷。 简单的拼装,完整的案例,即使没有任何经验,也能快速制作自己喜欢的传感器 基于开源协作的力量,有经验的工程师不仅可以进行二次开发 ,也可以修改制作 新的传感器 三明治结构 积木式拼装 全程免螺丝,免飞线,传感器组装只需两步,即可制作一款传感器。搭配支持正反插的Type-C接口,即插即用,简单方便。 功能任性变 核心板与18种传感器板拼装 可实现各种不同功能,搭配七彩的马卡龙颜色硅胶外壳。七彩硅胶外壳的十字孔 兼容小米智能积木、爱其智能积木和市面上主流积木。 核心板引出单片机常用接口功能, 可以链接到树莓派等智能硬件,可以扩展更多玩法 兼容小米智能积木 开发板不仅兼容主流开源硬件生态,还兼容米兔积木机器人系列主控、兼容小米智能积木系列主控、兼容爱其科技反履机甲和积木机器人系列主控。配合主控一起玩,大大增加了机器人的新玩法,也拓展了传感器的应用场景。 嵌入式单片机入门 为了给开发者提供体验良好的、一致性统一的开发,开发板系统软件做了大量底层工作,屏蔽了大量底层差异化,给爱好者

特长生试题大杂烩 & 特长生考试总结

断了今生、忘了曾经 提交于 2020-08-05 05:34:22
前言 \(\texttt{Update on 2020.06.03:}\) 勉强过线,被 AK 爷 WYCdalao 和 XJQdalao 吊打 /kk 。 快要特长生考试了,把前几年特长生试题的错例和一些相对有价值的题目写一写。 希望能过吧 /xyx 。 一些 sb 的错误 不确定是否有多余空格或者换行符的字符串读入可以使用 getline(cin,s) ,保证不会因为多余字符而出错。 例题题解 2013年 T4 廉价最短路径 定义有向图中权值和最小的最短路径的权值和为该图廉价最短路径的长度。其中一条路径的长度为其边数。求从 1 到 2 的廉价最短路径长度。 \(n \leq 100,m\leq 1000\) 。 在 Floyd 求最短路径的基础上加上一个 \(cost[i][j]\) ,表示当前从 \(i\) 到 \(j\) 的廉价最短路径长度。最短路转移时顺便维护 \(cost\) 即可。 时间复杂度 \(O(n^3)\) 。 2014年 T2 数字积木 求若干个正整数全部连接起来能得到的最大整数是多少。 \(n\leq 1000,\) 数字 \(\leq 10^{200}\) 排序,如果 \(\overline{ab}>\overline{ba}\) ,那么 \(a\) 最终一定在 \(b\) 前面。 证明:如果 \(a,b\) 中任意一个不是另一个的前缀

设计模式第二弹: 不知道怎么提高代码复用性?看看这几种设计模式吧!

烈酒焚心 提交于 2020-08-05 05:16:07
本文是设计模式的第二篇文章,第一篇文章是 不知道怎么封装代码?看看这几种设计模式吧! ,后面还会有 提高扩展性 , 提高代码质量 的设计模式,点个关注不迷路,哈哈~ 想必大家都听说过 DRY 原则,其实就是 Don't repeat yourself(不要重复你自己) ,意思就是不要重复写一样的代码,换句话说就是要提高代码的复用性。那什么样的代码才算有好的复用性呢? 对象可以重复利用。这个其实有点像我们关系型数据库的设计原则,数据表和关系表是分开的,数据表就是单纯的数据,没有跟其他表的关系,也没有业务逻辑,关系表才是存储具体的对应关系。当我们需要某个数据时,直接读这个表就行,而不用担心这个表会有其他的业务在里面。类似设计的还有redux,redux的store里面就是单纯的数据,并不对应具体的业务逻辑,业务如果需要改变数据需要发action才行。正是因为这种数据很单纯,所以我们需要的地方都可以拿来用,复用性非常高。所以我们设计数据或对象时,也要尽量让他可以复用。 重复代码少。如果你写的代码重复度很高的话,说明你代码的抽象度不够。很多时候我们重复代码的产生都是因为我们可能需要写一个跟已经存在的功能类似的功能,于是我们就把之前的代码拷贝过来,把其中两行代码改了完事。这样做虽然功能实现了,但是却制造了大量重复代码,本文要讲的几种设计模式就是用来解决这个问题的,提高代码的抽象度

还在纠结学什么编程语言吗?Python可能会“教”你做人

房东的猫 提交于 2020-08-04 17:51:01
这几年为什么Python在中国就火起来了? Python这个东西国,大概是从2017年末开始,突然就火了起来的。此前,对于Python,乃至编程,绝大多数程度上都是专业人士的话题,在普通大众层面上起不了波澜。在中国,大概是从2017年末开始,突然就火了起来的。此前,对于Python,乃至编程,绝大多数程度上都是专业人士的话题,在普通大众层面上起不了波澜。 由于我是自学Python,非科班出身,所以只能分享一些关于我的学习心得,如果有不对地方欢迎指正。 不过非科班出身虽然是一个痛点,但是在工作上,我其实不输给我其他同事,这点我倒是很有自信,而且我也同意一句话“目前互联网上的免费编程课程,足够让你成为一个合格的“码农”。 编程入门 我刚开始学习编程,主要是因为自己想动手做个网站,但是由于技术原因,再加上朋友都比较忙,最后抱着“求人不如求己”的想法,干脆自学。 编程难不难? 这个问题我觉得所有认真学过的人,都一定会肯定告诉你编程不难,但是精通那是相当困难的。 如果你还没去学习,就觉得编程一定很难,那么其实你是没有资格说这句话的,任何事情一定是要去尝试后,才能这么说。 编程其实很像堆积木,然后根据需求,把东西造出来,可以是房子,也可以是桥梁。 学习编程无非运用这些积木,来创造你要的东西。 编程语言选择 这边说个题外话,关于当时编程语言的选择,很多时候我觉得不是你选择编程语言

BPM产品解读之规则设计器

こ雲淡風輕ζ 提交于 2020-07-28 06:38:32
在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改。 为了适应这样的需求,我们的IT业务系统应该能快速且低成本地更新,一般的做法是将业务规则的配置单独拿出来,使之与业务系统保持低耦合。 目前,实现这种功能的程序,已经被开发成为规则引擎。 为什么选择规则引擎 规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来,使复杂的业务规则实现变得简单,也可以动态修改业务规则,从而快速的响应需求变更。 规则引擎的优点 简化系统架构,优化应用 让复杂的业务逻辑可视化,提高系统的可维护性和维护成本 方便系统的整合 减少业务规则用“硬编码”实现的成本和风险 大大提高组件的可复用性 规则引擎的使用场景 规则引擎虽然非常强大,但并非所有场景都适用。一般来说,规则引擎适用的项目都具有以下一个或多个特征: 需要定义一个非常复杂的场景,甚至对于业务专家都很难完全定义 没有已知的或定义明确的算法解决方案 有挥发性的要求和需要经常更新 需要快速做出决定,通常是基于部分数据 规则设计器和规则引擎解耦的价值 Nebulogy BPM PaaS ,基于微服务架构对BPM平台类应用进行充分解耦,将BPM全生命周期的管理落地、流程应用开发&运维的最佳实践,以一组通用组件服务的方式呈现给用户,以便能够更快更好更简单地搭建业务流程。

Java结构型模式(1)——适配器模式

。_饼干妹妹 提交于 2020-07-27 12:59:50
《2020年阿里云活动拼团》: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=czfmwdn3 【限时】1年86元,3年229元,用来建站和编程学习【 附WordPress建站教程 】 适配器模式属于结构型模式的一种,它可以理解为现实生活中的电源适配器、网络适配器等。首先要搞清楚什么是结构型模式。 ​ 结构型模式是将系统中的多个类或对象组合在一起,相互协作来完成更复杂的任务或功能。就好比搭积木,许多简单积木可以搭建成更复杂、功能更强大的结构。它分为两种形式:类结构型模式和对象结构型模式。类结构型模式由多个类组合,存在继承和实现关系;对象结构型模式由类和对象组合,存在关联关系(比如车和轮胎的关系)。 ​ 下面我们再介绍适配器模式: ​ 1、定义:将一个类的接口转化成多个类可以兼容的接口,使其协同工作而无需修改现有类的内部结构。 ​ 2、模式结构: ​ (1)Target(目标抽象类):定义了特定的工作接口。 ​ (2)Adapter(适配器类):模式的核心类,作为转换器对Target和Adaptee进行适配。 ​ (3)Adaptee(适配者类):定义了需要适配的接口。 ​ (4)Client(客户类):针对目标抽象类编程,调用其定义的方法。 ​ 3、类适配器和对象适配器的比较: ​ 类适配器中

认识tensorflow

瘦欲@ 提交于 2020-07-27 03:59:42
深度学习是模仿了生物的神经元的概念,你可以想象用一大堆的神经元通过各种刺激来对外部世界进行感知,从而建立起对外部世界的模型。 比如给你一个数据对: x y -1 -3 0 -1 1 1 2 3 3 5 4 7 我们可以使用深度学习通过从数据中学习来了解其中的规律,类似人类的学习,从我们的感知和实践中认识世界。 我们从直观的方式来看一下这些数据具有什么规律。 import numpy as np import matplotlib.pyplot as plt xs = np.array([-1.0, 0, 1, 2, 3, 4], dtype=float) ys = np.array([-3, -1, 1, 3, 5, 7], dtype=float) plt.plot(xs, ys) plt.show() 显示的图形为: 从肉眼上看直观的感觉是线性关系,我们用深度学习来训练一下模型(假设我们不知道这个数据的规律的情况下) import tensorflow as tf import numpy as np import tensorflow.keras as keras xs = np.array([-1.0, 0, 1, 2, 3, 4], dtype=float) ys = np.array([-3, -1, 1, 3, 5, 7], dtype=float) model =

Winform开发中的困境及解决方案

故事扮演 提交于 2020-07-26 21:18:05
在我们开发各种应用的时候,都会碰到很多不同的问题,这些问题涉及架构、模块组合、界面处理、共同部分抽象等方面,我们这里以Winform开发为例,从系统模块化、界面组件选择、业务模块场景划分、界面基类和辅助类处理、代码生成工具辅助开发等方面介绍在实际项目开发过程中碰到的困境和相关的解决方案,以便分析其中是如何逐步提高效率和整体用户体验的。 1、系统模块化 软件和建筑工程很类似,都是需要构建一个庞大而功能完整的一个系统,而工程化也意味着需要多人协作,那么就需要把一个庞大的系统横向或者纵向划分为各个可以独立施工完成的模块,虽然各个模块之间有所衔接或者交互,但是基本上可以以模块化的方式来构建,这个也是工程化开发的精髓所在。 以一个软件管理系统为例,我们尽可能把精力焦点放在客户的业务需求上,而对于常规的如权限控制、字典管理等一些常用的内容,由于它们的处理逻辑在特定领域上基本上比较固定一些,可以尽可能独立并重复使用, 而有时候,以某个特定的业务来说,同时很多处理规则也是不变的,因此也可以以业务模块的方式来划分,从而类似通用模块的方式重复使用。 模块化类似小孩子搭积木的方式构建一个所要的形状,虽然软件和建筑在这方面肯定更加复杂化,但是模块化系统是大势所趋,也是简化开发、易于维护、提高系统健壮性的重要举措。 2、界面组件选择 在Winform内置的传统样式里面,虽然提供了很多很好的界面组件

Winform开发中的困境及解决方案

一世执手 提交于 2020-07-25 23:46:15
在我们开发各种应用的时候,都会碰到很多不同的问题,这些问题涉及架构、模块组合、界面处理、共同部分抽象等方面,我们这里以Winform开发为例,从系统模块化、界面组件选择、业务模块场景划分、界面基类和辅助类处理、代码生成工具辅助开发等方面介绍在实际项目开发过程中碰到的困境和相关的解决方案,以便分析其中是如何逐步提高效率和整体用户体验的。 1、系统模块化 软件和建筑工程很类似,都是需要构建一个庞大而功能完整的一个系统,而工程化也意味着需要多人协作,那么就需要把一个庞大的系统横向或者纵向划分为各个可以独立施工完成的模块,虽然各个模块之间有所衔接或者交互,但是基本上可以以模块化的方式来构建,这个也是工程化开发的精髓所在。 以一个软件管理系统为例,我们尽可能把精力焦点放在客户的业务需求上,而对于常规的如权限控制、字典管理等一些常用的内容,由于它们的处理逻辑在特定领域上基本上比较固定一些,可以尽可能独立并重复使用, 而有时候,以某个特定的业务来说,同时很多处理规则也是不变的,因此也可以以业务模块的方式来划分,从而类似通用模块的方式重复使用。 模块化类似小孩子搭积木的方式构建一个所要的形状,虽然软件和建筑在这方面肯定更加复杂化,但是模块化系统是大势所趋,也是简化开发、易于维护、提高系统健壮性的重要举措。 2、界面组件选择 在Winform内置的传统样式里面,虽然提供了很多很好的界面组件

糅合两种开发模式的快速开发平台解决方案

送分小仙女□ 提交于 2020-05-08 14:51:03
就目前国内市场情况来看,快速开发平台主要有两种模式,有引擎模式和生成源代码模式两种,以国内力软快速开发平台为例,针对不懂编程的管理者/业务人员和开发人员,力软糅合了两种开发模式。 力软以场景为中心的软件代码平台,可实现管理者或业务人员在线轻松搭建,业务应用随心而变,重点解决中小型企业全数字化管理、中大型企业创新场景数字化。 对于不懂编程的企业管理者或业务人员来说,通过力软工作流引擎模式以鼠标拖拽的方式编辑组件,搭建所需的各类流程业务应用,其过程像搭积木一样简单和快捷,这使企业信息化搭建的时间从原来的几周甚至是数月转变为现在的几天或者是几个小时,成本也随之大大降低。真正实现5分钟配置一张业务表单,5小时搭建一个专属应用,5天落地一个管理方案。 力软快速开发平台的操作界面如下图,左侧为可视化组件,只需要拖拽即可实现业务表达搭建,右侧为组件相关属性,可灵活配置,实现不同业务需求。 同时,为了方便不同行业、不同业务需求的客户快速上手使用,力软快速开发平台还预置丰富的应用模板,覆盖十多个行业的95%应用场景,用户可能根据企业所需进行选择,无需开发,直接套用就可以,也可以在模板基础上进行自定义修改,根据个性化需求调整应用。 当然,快速开发平台并不是万能的,它并不能实现所有的功能,因为业务需要,较为复杂和独特的业务流程、打通各个数据系统的关联都需要涉及到代码开发