写这个题目,源于前两天接到的一个电话面试时候问道的一个面试题。当时,面试人员问我:你认为GIS的核心价值是什么?我想了一会,给他回答了两个字,那就是“服务”。 为什么我认为GIS的核心价值是“服务”,GIS的服务在那些方面有体现,下面就该问题我做一个个人观点的阐述。 会后,静静的想了想,他的话是对的,至少,有一部分是对的,因为不论是你是干啥的企业,你最终赚的钱都是从你的客户的腰包里面掏出来,你的终极目的就是怎么样我才能从客户的腰包里把钱掏出来,并且客户还会满意,或者还有下次合作的机会 ,有时还会涉及到公交选择,路径导航等相关问题,这一系列的等等,都在与GIS发生着说不清道不明的关系,同时也在无时无刻体现着GIS的服务价值;2、行业领域。 综上,GIS不论是从门外汉到专业人士,都是在提供着服务,他的侧重点在应用,所以,我个人认为GIS的核心价值在于服务。
Docker大行其道的个中原因很多,除了开放技术和云计算普及的大环境外,Docker的一些内在特点是主要原因。 那么Docker带来的核心价值在哪里呢? 容器的运行时是依赖Linux的开放API name spaces和cgroup实现的,没有太多隐藏的技术门槛,比较容易开发出来。 而Docker的容器镜像则不同,它定义了分层的容器封装格式,并提供了镜像的SaaS服务(DockerHub),有成千上万的镜像生成和运行在各种环境中,已经成为事实上的镜像标准。 笔者认为,相比可替换的Docker Engine,简单高效的层次镜像格式才是Docker技术的核心所在。 下面这张图描述的是Docker容器的生命周期,其中容器镜像的关联箭头最多,不言而喻,镜像技术就是Docker的核心所在。 图片来自Docker网站 业内一些项目的进展似乎也印证了这点。
核心是来讨论下 devops 的价值和关键的一些前置要素,以及背后的一些逻辑。 先来看看 devops 实施带来的直接的价值: 对客户的价值:响应更快 通过按 feature 发布,feature 发布可以到天 对客户来说需求的响应速度更快 对产品的价值:提升质量 每次减少发布范围 个体开发效率相差会比较大,所以带宽估计是非常困难的,所以相比激活组织潜力,详细估计带宽的价值小很多; 规划是需要有的,但是业务变化很快,一个敏捷的组织价值更大,所以相比每件事都详细规划,立刻做价值更大 除了前面说的各种价值,我觉得 devops 其实更大的价值在人性的激发。和传统的敏捷和 CMM 模型最大的区别在于管理逻辑的区别。 这种区别如果用数据库里面的经典的锁来说明,那其实就是 乐观锁和悲观锁的区别,devops 除了要有各种工具和套路之外,核心还是要能激活团队个体成员的主动 owner 意识,让他们敢打敢干。
在 OpenAI 的招聘界面 上,有一段内容是关于 OpenAI 的 Core Values(核心价值观),刚刚 Logan 在 X 上粘贴了他们的新版价值观,我觉得相比原来的价值观目标更加明确了,简单记录并写一下我的思考 原来的价值观有 6 项: (原来的价值观也微调修改过,但改动不大) Audacious:We make bold bets and aren't afraid to go against established 熟悉的配方,熟悉的 Scale it up。Scale 就是解决模型、系统、自身、流程和目标抱负的魔法,不论有什么疑虑,先梭一把规模再说,大力出奇迹。很符合大家对 GPT-4 的刻板印象。 创造人们喜欢的东西。这是产品角度的价值观,技术和产品要对人们的生活产生深远的正面影响。 OpenAI 现在 allin AGI 的企业目标,我们不知道他们手中是否有比 GPT-4 更强的模型,但可以预见的是,AI 在我们的生活中将扮演更加重要的角色。
正是在这样的背景下,TypeScript应运而生。 第一章:类型安全——构建可靠系统的基石1.1静态类型检查:在编译阶段捕获错误TypeScript最核心的价值在于其静态类型系统。 这种“开箱即用”的生态,极大降低了工程配置成本。第三章:团队协作——大型项目的协作协议3.1接口即契约:前后端/模块间对齐在团队开发中,接口定义是协作的核心。 结语:TypeScript不止是类型,更是工程思维TypeScript的真正价值,不仅在于“加了类型”,而在于它推动开发者以更严谨、更结构化的方式思考软件设计。 掌握TypeScript,不仅是掌握一门语言,更是掌握现代前端工程的核心方法论。
在 TypeScript 中要覆盖所有可能性,明显只能选择 any 类型了: function identity(value: any): any { return value } 这还挺行得通的 TypeScript 泛型来拯救 正如我曾 尝试 说的那样:一个泛型就像若干类型的一个变量,这意味着我们可以定义一个表示任何类型的变量,同时能保持住类型信息。后者是关键,因为那正是 any 做不到的。 可变参数元组(Variadic Tuples) 实际上这是 TypeScript 4.0 中的新特性。并且尽管我 ?已经在这篇文章中介绍了它,此处仍会快速回顾一下。 "Doglio", true, 3, 37] let myList:MyTuple<[number, number, number]> = ["Fernando", "Doglio", 1,2,3,4] true, 1, 2, true] let manyNumbers: anotherTuple<[number, number, number, number]> = [true, 1, 2, 3, 4,
主数据管理的核心价值主要体现在以下五个方面:一、确保数据的一致性和准确性主数据是企业运营过程中最基础、最稳定的数据元素,如客户信息、产品信息、供应商信息等。 二、提高业务协同效率在传统的组织架构下,各部门往往各自为政,形成了一个个“信息孤岛”。主数据管理的实施,打破了部门间的壁垒,实现了数据的跨部门共享和流通。 三、优化客户体验客户是企业最重要的资产之一,提供优质的客户服务是企业赢得市场竞争的关键。主数据管理通过整合来自不同渠道的客户信息,构建完整的客户画像,帮助企业更深入地了解客户需求和行为偏好。 综上所述,主数据管理的核心价值在于确保数据的一致性和准确性、提高业务协同效率、优化客户体验、降低运营成本以及增强决策支持能力。 企业可以根据自身需求,规划主数据管理,通过借助各种有力的管理工具,实现更高效的主数据管理,充分发挥数据的潜在价值,推动企业的数字化转型和升级。
代码如下 package xk.org; import java.util.Scanner; // 估值一个亿的 AI核心代码 public class hello { public
今天下午在思考几个问题,工作的本质是什么?DBA的核心价值是什么?有哪些工作是DBA不可取代的?在整理的过程中,也有了一些心得体会。 对于DBA来说,如果要说核心价值,不妨换一个问题,即哪些工作是DBA专业的事情,从我的理解来说,有以下几件: 1)数据库技术选型 2)数据备份恢复 3)数据库架构设计 4)数据库高可用 5)数据库升级 而且在云计算依然成熟的今天,带给数据库运维管理工作的变化也有着较大的冲击和挑战。 ? 从我目前的认知理解来看,我认为这个是DBA工作的核心价值。 这里的生命周期管理范围是比较大的,我可以把它分为实例生命周期,对象生命周期,数据声明周期和SQL生命周期四个维度。 数据生命周期管理是目前工作中大家最容易忽视,而且是最有价值的。在这方面操作的复杂度不高,但是可以这个层面影射出很多方面工作的必要性和价值。
一.类成员 TypeScript里的类的定义与ES6 Class规范一致,静态属性,实例属性,访问器等都支持: class Grid { static origin = {x: 0, y: 0} 符合TypeScript的设计原则: 不给编译产物增加运行时开销 另外,类成员可访问性也是类型检查的一部分,private/protected修饰符会打破鸭子类型,例如: class Animal { __proto__ || Object.getPrototypeOf(A)).apply(this, arguments) } TypeScript里的Class继承也会被编译替换成基于原型的继承,如下 Object.create(b) : (__.prototype = b.prototype, new __()); }; })();// __extends(A, B); 二者大同小异,从实现上看,TypeScript 四.抽象类 TypeScript里也有抽象类的概念: abstract class Animal { abstract makeSound(): void; move(): void {
,一蹉跎就是 2 年多 期间反复思索着一个挥之不去的问题:定制化 IDE 产品的核心价值是什么? 因此,从解决问题的角度来看,定制化 IDE 的核心价值在于: 专用:面向特定领域量身定制,在既定场景下能够提供顺畅、一致的开发体验和效率保障 集大成:从头到尾提供一条龙服务,不仅能够很好地补足工程链路的前半段 : 生死存亡 兼容并包 连接融合 渠道生态 在不同阶段具有不同的核心价值 生死存亡 这个阶段的定制化 IDE 可能存在诸多不完善,比如: 核心能力少:能吸引用户的卖点不多 稳定性欠佳:使用中比较容易遇到问题 易用性差:有些功能用起来不那么顺畅 价值方面几乎没有明显的体现,因此其核心价值是听话,即可塑性强 因为此时产品还只是初具雏形,既没有形成用户习惯,也不用担心历史包袱,只要不是非常不合理的需求,就都可以做 ,如调试、测试 这一阶段,大要发挥大的优势,定制化 IDE 的能力支持从大场景转入小场景,从封闭走向开放,开启更多可能性,对应的核心价值是孵化生态,持续产生价值 三.布局未来的角度 前端工程化历经了这样几个阶段
这听起来可能有点令人沮丧,似乎不换工作就无法体现其他价值。其实不然,如果你仔细研究岗位模型,就会发现在不同的级别不同的阶段,对于核心能力的要求和侧重点是不同的。 也就是说,到了不同的阶段,你需要用不同的能力来体现自身价值。 价值的体现是多方面的,自身的成就感多半也来源于自己感觉做的事情有没有『价值』。 因此,我尝试以更粗略的维度,利用可以治疗颈椎病的鱼骨图的分析方式,为大家列举几个我认为可行的价值体现路径: 如图所示,最终体现在经济效益上的价值才是真正的价值。 具体还要看产品类型,有些产品体验再差也会有人用,因为你有更核心的资源,比如商品价格低质量好;而有些产品,就是要逼格和高端大气上档次的设计感,因为核心用户很关注这些,体验不好就会丢失核心用户。 以上,就是我认为在这个追求速度的、竞争白热化的互联网时代,以及在『全栈工程师』这个行业大背景下的,前端工程师的最核心的价值体现。各位您怎么看?
原文: What's coming in TypeScript 4 作者: Tim Perry TypeScript4来得很快, 这周(6.25)就有一个Beta Release的计划, 而最终的正式release 需要注意的是, TypeScript的Release并没有遵循Semantic版本规则进行, 所以4.0版本并不算是一个大型的更新. 对于像HTTP Toolkit(完全是TypeScript开发的)的项目来说, 这次改动能够带来更快的开发速度以及更少的bug. 让我们来深入一下细节的部分. 属性的类型只会在直接初始化的时候得到推断. 因此需要一个初始化函数, 或者直接对其进行定义. 在TypeScript4中, a的类型会被推断为number | boolean: 从构造函数自动推断. 至少它们帮着TypeScript的程序员们续命了 -- 改善了类型安全以及开发体验.
4. 函数 ? 函数在前面的章节已经多次使用,本节将梳理ts函数的知识。 add2: (x: number, y: number) => number // 3.类型别名 type add3 = (x: number, y: number) => number // 4. 接口定义 interface add4 { (x: number, y: number): number } 4.1 不定参数 我们在调用函数时,入参多一个不行,少一个也不行。 add1(1) // 报错,参数少了 add1(1,2,3) // 报错,参数多了 有时候我们需要传入不定个数的参数,此时可用? 重载的好处是,不需要给两个函数功能相似的方法,写两套函数。接下来看ts的例子。 Ts实现一个add函数,如果参数全是数字,则返回相加之和,如果参数全是字符串,则返回对应拼接。
1 引言 随着 Typescript 4 Beta 的发布,又带来了许多新功能,其中 Variadic Tuple Types 解决了大量重载模版代码的顽疾,使得这次更新非常有意义。 ,问题也不会得到解决,因为参数类型的顺序得不到保证: function concat<T, U>(arr1: T[], arr2, U[]): Array<T | U>; 在 Typescript 4 局部 TS Server 快速启动功能, 打开大型项目时,TS Server 要准备很久,Typescript 4 在 VSCode 编译器下做了优化,可以提前对当前打开的单文件进行部分语法响应。 3 精读 Typescript 4 最大亮点就是可变元组类型了,但可变元组类型也不能解决所有问题。 4 总结 Typescript 4 带来了更强类型语法,更智能的类型推导,更快的构建速度以及更合理的开发者工具优化,唯一的几个 Break Change 不会对项目带来实质影响,期待正式版的发布。
原文:https://deviq.com/respect 尊重(Respect) 尊重(Respect)是极限编程(Extreme Programming,XP)的核心价值之一。 作为一名有价值的团队成员,每个人都给予并感受到他们应得的尊重。每个人都贡献价值,即使只是简单的热情。开发人员尊重客户的专业知识,反之亦然。管理人员尊重我们接受责任的权利,接受我们自己工作的权力。 这包括在回顾期间(Retrospective)或结对编程(Pair Programming)时尊重他人的想法,以及期望得到客户和管理层的尊重。如果犯了错误,潜在的问题应该被尊重地解决。 管理层应尊重团队自行决策的能力,并通过避免诱使团队加班,让团队保持可持续的步伐。 语录 “只有尊敬他人的人才是值得尊敬的” —— 拉尔夫·沃尔多·爱默生 “Men are respectable only as they respect” – Ralph Waldo Emerson
原文:https://deviq.com/communication 沟通(Communication) 沟通(Communication)是极限编程(Extreme Programming,XP)的关键核心价值 每个人都是团队的一部分,而且我们每天面对面交流。我们将共同合作,从需求到代码。我们将一起为我们的问题创造最好的解决方案。 首先,要考虑在给定大小的团队中存在的沟通渠道的数量。如果团队中只有你一人,恭喜你,你不需要与其他团队成员进行任何交流(当然,你仍然需要与团队之外的人进行沟通)。 而当团队有四个人时,成员之间的渠道数量则增长到六个。下面的公式 $$ \frac {n(n-1)}{2} $$ 是指数增长的。在一个10人的团队中,团队成员之间有45个独立的沟通渠道。 即使在单人团队中,与未来的自我交流也会是一个挑战。编写简单易读的代码,有助于你维护之前编写的代码,确保你理解代码的功能,以及如何最好地调整代码以满足新的需求。
从庞杂的数据背后挖掘、分析用户的行为习惯和喜好,找出更符合用户“口味”的产品和服务,并结合用户需求有针对性地调整和优化自身,就是大数据的价值。 诸位同僚觉得大数据的核心价值是什么? 下面是一些长篇的讨论,这里我把大数据的核心价值理解为核心商业价值。 “很多人还没搞清楚什么是PC互联网,移动互联网来了,我们还没搞清楚移动互联的时候,大数据时代又来了。” ——马云卸任演讲 本文尝试从三大产业的角度将大数据的核心商业价值分类讨论。 首先例举一些大数据的典型应用,然后解释大数据的定义,最后总结大数据的价值。 业界通常用4个V(即Volume、Variety、Value、Velocity)来概括大数据的特征。 数据体量巨大(Volume)。 三、大数据的价值 了解了大数据的典型应用,理解了大数据的定义。这时相信在每个人的心中,关于大数据的价值都有了自己的答案。
原文:https://deviq.com/feedback 反馈(Feedback) 反馈(Feedback)是极限编程(Extreme Programming,XP)的核心价值之一。 我们将通过交付可工作的软件认真对待每一次迭代承诺。我们会尽早演示我们的软件,然后经常仔细聆听并进行所需的更改。我们将讨论该项目,并使我们的流程适应它,而非相反。 例如,结对编程(Pair Programming)要比计划的代码审查(Code Review)提供更多和更快的反馈,持续集成(Continuous Integration,CI)与不频繁的集成相比可提供更快的问题反馈 频繁交付可工作的软件会减少开发团队开始实施该功能与用户使用该功能之间的时间。很有可能开发人员误解了用户想要的确切功能,或者用户将根据目前已交付的功能来更新他们想要的功能。 收到反馈的时间越早,开发团队就能越快和更便宜地修改软件以适应新的需求。 语录 “作为软件开发人员,我们可以通过两种方式失败:我们可以错误地建造东西,或者我们可以建造错误的东西。”
原文:https://deviq.com/courage 勇气(Courage) 勇气(Courage)是极限编程(Extreme Programming,XP)的核心价值之一。 我们将告诉大家关于项目进度与评估的真相。我们不为失败找借口,因为我们计划成功。我们什么都不怕,因为没有人独自工作。无论发生什么,我们都会适应变化。 来自 ExtremeProgramming.org 勇气是几个极限编程和敏捷(Agile)实践的基础,一些实践旨在增强团队的勇气(或至少消除恐惧)。 比如,重构(Refactoring)复杂的软件是一项令人畏惧的任务,但我们可以通过结对编程(Pair Programming)与另一个团队成员一起面对这个任务。 勇气是软件开发中的一个重要价值,因为它需要勇气来坦率真诚地面对客户,它需要勇气来识别我们自己,我们的团队和我们的组织的缺点,并努力改善这些缺点。