积木

凹凸技术揭秘 · 基础服务体系 · 构筑服务端技术中枢

こ雲淡風輕ζ 提交于 2021-01-15 09:08:39
前言 凹凸实验室从最初的前端团队成长为如今的全端团队,意味着我们不仅关注前端的技术能力,也重视全端及全栈的能力。在这一篇,我们从前端团队角度出发,阐述我们最初搭建服务端体系遇到的一些困难,已构建的服务体系架构,以及如何更好地助力业务增长。 些许似曾相识 首先,我们来看下日常工作中存在的一些场景。 场景A:在某些业务中,底层数据团队提供的数据接口并没有提供 HTTP 调用,需要去寻找其他服务端团队来封装,这时候需要等待其他团队排期,可能造成业务无法正常上线; 场景B:前端页面性能卡顿,由于调用接口过多,需要等待其他服务端团队聚合数据; 场景C:我们在一些项目需要SSR,前后端需要复用统一套模板; 场景D:我们内部孵化了一些项目,需要接口服务,需要等待其他服务端团队支持。 这些场景的背后,我们急需组建一个服务端研发团队来承担部分的业务服务开发以及更好地帮助团队未来发展。 成型 在团队组建上,主要采用「内部选拔」 + 「外部招聘」2 种方式。在团队发展上,我们主要经历了 3 个阶段。 雏形 在最初的阶段,选择以 NodeJS 作为服务端编程语言,主要以下有 2 点考虑: 团队大部分同学熟悉 Javascript,能够快速学习 NodeJS,上手成本较低; 在 SSR 方面有天然的优势,前后端能够共用部分代码。 在这个阶段,我们快速孵化了一系列的系统和平台,比如 Mock 平台

如何学习编程 我的编程学习之路

自古美人都是妖i 提交于 2021-01-14 13:34:19
##学习编程语言的语法 第一次接触到编程的感觉似乎是一种过电的畅爽感。对于编程有种美好的畅想感,似乎是打开了新的世界。但是却并不知道学习些什么。如果此时幸运的话能够找到一本学习编程语言基本语法的书籍,开始第一次的“hello world”之旅。但其中安装开发环境也是一大坑。 而后要是编程书籍选的不好便会陷入迷茫的状态,四处寻找着自己的方向,只学习了编程语法却并不知道如何运用。我在这个阶段耽搁了很久,每天看视频炫技似的开发各种功能,可是看完并没有太多的体会。编程的方法和过程一点也没有学到。 开始自己做一些小项目。说实话这走出舒适区的第一步就举步维艰。本来想自己独立开发一个五子棋小游戏,当时学习的是C语言,但是在开始就卡壳。于是转而开始找了一个教程,照抄了他的代码。做完以后稍微有点感觉了,自己又加了记录步数,悔棋,美化界面等边角料的与主功能不怎么相关的功能。当然这是一个命令行版本的。在最开始的几天兴奋过后,又觉得稍感无聊了。 ##学习编程的具体过程 五子棋游戏只有一个命令行窗口输入坐标,总感觉这样的程序不够酷。此时知乎开始兴起,逛了知乎之后,只感觉思路开阔不少。后来么,被洗脑开始学习python。用过c以后只感觉python是真的好,特别是比C语言的数列好用太多了。C语言开始时候并没有太多的数据结构的知识。只能用数列和结构体什么的对新手真是太不友好了,当时看链表根本搞不懂

深入浅出计算机组成原理学习笔记: 第十三讲

南楼画角 提交于 2021-01-14 06:53:45
一、上节回顾 上一讲,我们看到了如何通过电路,在计算机硬件层面设计最基本的单元,门电脑,我给你看的门电路非常简单,只能做简单的“与(AND)”“或(OR)”“NOT(非)”和“异或(XOR)”, 这样最基本的单比特逻辑运算。下面这些门电路的标你需要非常熟悉,后续的电路都是由这些门电路组合起来的。 这些基本的门电路,是我们计算机硬件端的最基本的“积木”,就好像了高积木里面最简答的小方块,看似不起眼但把他们组合起来满最终可以搭出一个星际大战里面千年年隼这样的大玩意儿。 我们今天包含十亿级别晶体管的现代 CPU,都是由这样一个一个的门电路组合而成的。 二、异或们和半加器 1、2个8位整数的加法 1、2排8个开关加法得到结果 2、需要1排8位的开关 2、其实加法器就是像一个办法把三排开关电路连起来 3、我们人在计算加法的时候一般会怎么操作 4、为什么我们需要异或? 其实异或就是一个最简单的整数加法,所需要使用的基本电路 5、进位 那这个就对应一个与门,也就是有且只有在加数和被加数都是1的时候,我们的进位才是1 6、半加器 所以、通过一个异或们计算机出个位,通过一个与或门计算出是否仅为,我们就通过电脑算出了一位数的加法、 于是、我们把两个门电路打包,给它取一个名字,就叫做半加器 7、半加器的电路演示 三、全加器 1、半加器存在的问题 1、解决了什么问题? 2、存在什么问题? 2

[超实用]按行组合代码写法

落花浮王杯 提交于 2021-01-13 19:44:44
我们在做测试的时候往往需要用到数据的多种组合,产生多个新数据来生成更多的测试用例,达到更全面的测试效果的目的。 实现多种数据组合的方式很多, 但是怎么样才是最简单的呢, 我们先看接下来的例子: 假设我有三个不同的列表: 将这些列表合并到另一个列表中的最有效方法是: 要实现上述按行组合的方式, 代码怎么写? java代码: python的写法: 如果列已经在一个列表中,则可以使用zip(*cols),代码如下: 仅zip()语法本身适用于Python2.x。在Python3.x中,使用上面的代码将列表合并为按行(或作为电子表格列) 最后当然是龙测的实现方式:无需写代码,选择配置即可轻松实现 用例直接选择 配置 ——数据组合方式选择 “按行组合” ,点击 “ 保存 ” 即可 让我们看一下龙测工具自动生成的代码的实现结果 我们可以看到无需写代码,就轻松实现了按行组合,生成多组测试数据,每组测试数据可以运行生成一个测试用例,当你的数据量很大的时候,我们同样只需选择配置完成数据造数,可以最少的时间自动生成最多的数据和测试用例。 快来龙测get这个新技能吧。 关于我们 龙测科技——一站式通用自动化软件测试TestOps平台 画流程图、积木图自动生成测试代码的自动化测试专家 测试体验官网: http://www.dragontesting.cn 来源: oschina 链接: https:/

窄带物联网设计

大憨熊 提交于 2021-01-10 09:05:49
大多数低功耗芯片在设计时都假设可以对电池进行充电或更换,但是正在开发中的全套IoT设备预计将始终处于打开状态,可通过蜂窝基础设施进行通信,并且仍可正常运行尺寸的锂离子电池十年或更长时间。 欢迎来到窄带物联网(NB-IoT)的世界,这是一种3GPP标准(也称为Cat-NB1和Cat-NB2),具有减少的带宽和更严格的功耗要求。主要目标是促进将通信IP集成到SoC或微控制器(包括基带或RF收发器)上。这不同于传统的蜂窝实现,例如3G,4G和5G,后者通常会消耗更多功率并针对不同的硅工艺技术节点。 3GPP标准基于每2小时/每天一次的通信频率和50字节/ 200字节的数据带宽定义了几种用例。对于所有用例组合,使用5Wh电池的预期电池寿命为10年。该标准还定义了用于扩展待机,省电模式(PSM)的新电源模式,以及用于网络同步的扩展时间间隔,扩展的不连续接收模式(eDRX)。 对于窄带物联网以及竞争性技术,这全都与低功耗有关—尽可能降低功耗,特别是在睡眠时保持极低功耗,这些调制解调器中的许多调制解调器将长时间处于不活动状态,并且某些事件将触发它们,将它们启动,然后通过蜂窝网络将数据发送回数据记录或数据报告站。因此,很大的一部分是在您入睡时可以消耗很少的能量。这最终将决定总拥有成本,以及许多其他问题,包括您必须多久保养一次才能更换调制解调器中的电池。从设计的角度来看,它实际上可以归结为低功耗

未来65%的企业应用将通过这种方式开发!你信吗?

无人久伴 提交于 2021-01-05 00:25:50
数字技术迅猛发展的狂潮中,企业对于IT系统的建设和软件应用的研发已成为刚需,然而开发效率的难题却已成为越来越多身处数字化转型升级中企业的瓶颈。低代码开发平台的出现,为解决这一问题提供了行之有效的途径。 使用低代码开发平台,无需编码或通过少量代码就可以快速生成应用程序。与传统的开发方式相比,低代码开发的门槛更低,效率更高,特别适合缺乏专业开发人员的企业或系统集成商,快速开发并交付企业应用。 近几年来,低代码领域发展迅速,赛道跑出了超10亿美元估值的独角兽OutSystems,巨头企业AWS、Google、Microsoft、Oracle、西门子等也纷纷推出低代码开发平台或通过收购布局低代码。全球知名的咨询公司Gartner在近日发布的报告中指出,到2024年四分之三的大企业将会使用至少4种低代码开发平台,用于信息化应用开发。届时,65%的应用开发将通过低代码完成。 一、低代码——软件开发中的“乐高积木” 如果用一个比喻来解释低代码,那可以说低代码就是软件开发中的“乐高积木”——将通用、可重复使用的代码形成组件化的模块,通过图形化的界面来拖拽组件拼成应用,从而在只写少量代码或不写代码的情况下,搭建软件应用。 在这样的开发方式中,降低成本、降低价格、降低技术和人员门槛,可以说是低代码平台要解决的终极问题。OutSystems就曾帮助施耐德电气在20个月内推出了60款应用

凹凸技术揭秘 · Deco 智能代码 · 开启产研效率革命

浪子不回头ぞ 提交于 2021-01-01 07:55:07
1、背景介绍 近几年中台的兴起,团队围绕业务中台化这个场景,将我们已有的诸多能力进行解构、重组、积木化,希望能将拆解后的积木进行体系化地串联,从而达到降本增效的目的。 对于电商平台来说,每年都需要面临大量的大促活动页面需求,对于如何提高页面产出效率,大家都不约而同采用「页面可视化搭建」解决方案。对应的,我们也构建了「羚珑可视化页面搭建平台」。但近两年大促活动定制化需求井喷,平台有限的组件模块已无法满足产品运营需求,前端工程师也无法再用「复用」的思想简单地解决问题。当业务发展到一定程度,有限的人力以及冗长的开发流程更是无法满足蓬勃发展的业务需求。 我们需要「求变」,传统的人力密集型研发无法解决的问题,是否能用智能化的思想来解决呢?顺着这个方向,我们把目标瞄准了「前端智能化」,希望借助 AI 和机器学习的能力拓展前端能力圈,打通设计与研发的工作流程,实现规模化生产。 2、项目介绍 Deco 智能代码项目是团队在「前端智能化」方向上的探索,我们尝试从设计稿生成代码(DesignToCode)这个切入点入手,对现有的设计到研发这一环节进行能力补全,进而提升产研效率。 在一个日常需求开发流程中,往往需要遵循固定的一套工作流程,产品提交需求 PRD,交互设计师根据 PRD 输出交互稿,再由视觉设计师输出产品视觉稿,接着再进入前端开发工作流。对于前端工程师来说,输入源是视觉稿 + PRD

凹凸实验室的过去与未来

南楼画角 提交于 2020-12-25 14:08:49
作者:凹凸曼 凹凸实验室隶属于京东零售用户体验设计部(JDC),成立于 2015 年秋冬之交,诞生自深圳前海之滨,至今已走过 5 个年头,5 年的时光穿梭而过,凹凸实验室也不断发展壮大,从曾经专注前端的团队成长为如今涵盖前后端、全栈、算法、测试各类方向的全能型研发团队,工作模式也从传统的人力密集型研发转向创新型平台体系化研发,如今,凹凸的各类技术输出与沉淀在业界影响深远。 <iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=m3215ilu1ay" allowFullScreen="true"></iframe> 星火 2015 年,凹凸实验室的前身多终端研发部成立刚好一年,彼时的多终端研发部,虽然是一个拥有 20 多位开发人员的独立前端研发部门,但更多的是在支撑着公司内部的各种业务的研发,从微信手 Q 的购物业务到京东商城的营销活动、拍拍网,以及京东云的大改版,业务的类别五花八门,作为一个工线支持部门,每天在各类业务开发中穿插,协助各类业务需求的开发。 <div style="text-align: center; margin-bottom: 20px; color: #999">2015 加入凹凸实验室的同仁</div> 在此期间,部门也产生了很多精品业务,凭借着在 H5

敏捷到底是个什么鬼?

三世轮回 提交于 2020-12-21 20:19:26
“ 如何用一两句话说清楚敏捷的本质是什么呢? ” 温馨提示,如果眼睛太累或者在忙其他事,按照这个攻略可以听本文: 看文章很累,不如听吧!手把手教你如何听公众号文章 大家都知道,敏捷虽然是由一群软件开发高人通过《敏捷宣言》提出,但敏捷思想早就已经破 圈 了,甚至成为一种企业管理的思想。 不管你的公司是否从事软件开发,如果你在公司里面每天都开十几分钟的站立会议,或者总是从领导的嘴里听到要快速迭代,又或者一个产品还在创意阶段,负责人总是要求先把最小可用产品做出来,这就说明你和你的团队已经被敏捷思想深深地影响了。 说一千道一万,到底如何用一两句话说清楚敏捷到底是个什么鬼呢? 我们溯本求源,来看看《敏捷宣言》的创始人是怎么说的。 《程序员修炼之道》被一代代开发者奉为圭臬。时隔20年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。 这本书的书名虽然有“程序员”三个字,但既然敏捷思想已经破圈, 书中 提到的原则也适用于各行各业。 作者大卫·托马斯和安德鲁·亨特,作为《敏捷宣言》17位创始人中的其中2位,也借此书道出了敏捷的两大本质—— 先完成再完美 和 ETC (Easier To Change) 。 01 — 先完成再完美 有一句话贴在Facebook的墙上:“完成大于完美”。 在

中小企业管理软件选择的3个要点!看完这个故事就都明白了

≯℡__Kan透↙ 提交于 2020-12-18 12:01:45
通常来说,中小企业虽然规模不如大型企业,但好话说的好麻雀虽小确五脏俱全,所以中小企业,很多时候也需要面临:企业内部销售管理、市场拓展、制造生产、财务会计、人事管理等等一系列的问题。所以,中小企业在选择企业管理软件工具的时候也得精挑细选。 目前市场上,各类企业管理软件层出不穷,质量也是参差不齐。像平时大家都很常见的如:ERP企业资源计划、CRM客户关系管理、OA办公自动化、HR人力资源、员工绩效考核等等。 很多时候,作为中小企业在选择企业管理软件时,往往一开始考虑的是“一步到位”或者是“够用就行”。但其实这两种,均不能很好的满足于企业的需求。为什么这么讲? 讲个故事,大家就明白了! 话说,经营多年的企业老板沈世(省事),随着公司的规模壮大,也渐渐意识到了系统化管理企业的重要性,然后就去网上搜“企业管理软件”,而后,也看了很多大平台眼花缭乱的宣传,但依然觉得毫无头绪。 后面想着这几年也赚了些钱,就买个贵点的吧。俗话说“贵的总是好的,高大上的总是好的,费那么大精力做什么,随便买一套大品牌的企业管理软件装上,肯定没问题!”于是乎,想“省事”的沈世老板,脑子一热,给自己上了一套“高大上”的ERP。 同为企业家的王远(望的远),发现沈世买了企业管理软件,就对涂总说:“你买的那高大上的软件用处不大的,我是根据自己的需求定了一套,反正我们企业是够用了,这一套能用10年!”这里,沈世和王远都采取了