Formatting Numbers in Excel VBA IN THIS ARTICLE Formatting Numbers in Excel VBA How to Use the Format Function in VBA Creating a Format String Using a Format String for Alignment Using Literal Characters Within the Format String Use of Commas in a Format String Creating Conditional Formatting within the Format String Using Fractions in Formatting Strings Date and Time… Read More
成长的模式:如何从毕业生到技术专家? 过去的一个月里,在帮助其他部门进行毕业生培训。从名称上说是培训,但是实际上则是训战结合。不想一下子给太多,这篇文章会给的建议是: 寻找持续成长的动机 塑造整洁的编码习惯 建立定位问题的方式 学习既有的模式 频繁性自我总结 只凭这五点来说,与《福格行为模型》所定义的三要素也是颇为相似的: 要素1 动机(Motivation):找到实现愿望的黄金行为 要素2 能力:让行为简单到随时顺便都能做 要素3 提示:善用锚点时刻让行为立刻发生 如果再简化来说,也可以采用和我一样的模式,通过基本简单的行为:每天写代码,每周做总结(通过文章)。 再定义专家再回到我们这篇文章的主题里,如何从毕业生到一个技术专家?专家是基于研究、经验或职业并在特定研究领域具有广泛知识或能力的人。这样的定义是如此的简洁,以至于一个工作经验丰富的人都可以称上得是专家。在这种定义之下,一个 996 的程序员的开发经验,可谓不比一个 965 的人差。 于是乎,我还更喜欢,我在在那篇《专家 x 抽象 x 类比》里,我们也定义了专家应该做点什么? 所谓的专家嘛,就是在擅长的 “领域” 里,构建了具有范畴化(归类)的概念空间,并可以通过类比灵活地完善自己的概念库。 在这个定义之下,我们行业的技术专家便是指,在软件开发领域,具备丰富的软件开发相关的知识(即概念)或者是经验。拥有自己的软件开发相关的知识体系(概念库),并且能持续不断地完善。比如说,你是个后端专家,那么你能理解后端开发中的大部分概念,以及这些概念之间的关系。诸如于: Spring Boot 是一个可以用于帮助我们开发微服务的框架;微服务是一种基于服务的分布式架构风格/架构模式;架构模式是模式的一种,其中采用最广泛的是设计模式;分布式架构通过远程协议连接多个部署单元。 基于 Spring Boot 构建的应用可以是一个部署单元,通过持续集成构建,并持续部署到容器化平台上。 能知晓整个体系的相关概念,并清晰地知道概念之间的关系,再有一定的经验,我们就是入门级 “专家”。而后,一旦来了一些新的概念,我们还需要能将它们纳入到我们的体系中。诸如于最近在后端开发领域又重新火起来的 Cells-based architecture,它也是一种架构风格,同等于微服务架构。我们所能构建的是一个领域的思维框架,它可以帮助我们对所有的知识分门别类。 寻找持续成长的动机首先,我们要思考的第一个问题是,为什么我们要成为一个技术专家? 不管动机水准的高低为何,人们若能维持一定的动机水准,则不但能维持追求该目标的行为,也能维持心理上对该目标的渴望,直到人们知觉到该目标达成为止。—— 维基百科 六年前,我参加过一个 Management 3.0(有兴趣的读者,也可以翻看《管理3.0:培养和提升敏捷领导力》)。虽然,这个培训确信了我不适合这个无聊的工作。但是,培训/书中介绍了一个 CHAMPFROGS 模型,它可以用来帮助我们寻找内在的动机。它由十种激励因素(好奇心,荣誉,接受,精通,力量,自由,亲和力,秩序,目标,地位),包括内在动机、外在动机或两者兼有的因素组成。(有兴趣的读者,可以翻看:https://www.infoq.com/news/2013/11/intrinsic-motivators/ ) 你也可以尝试一下,从上面的十个动机,按一、二、三的顺序,挑选出最与你匹配的动机。进而,你就可以发现你成长的动力在哪里。我记得多年以前,我的主要动机是好奇心、自由,其中有一个我已经忘了,估计也不重要了。 总有人会说:“hi,我成为技术专家的专家是赚更多的钱”。那么,问题来说,你如何定义多和少,怎么去衡量它们呢?对于打工人而言,你赚的钱多数时候,并不是靠你的能力决定的,而是你的行业决定的。所以,久而久之,将赚钱作为成长的目标,你会失去这种动力。因为,你的技术成长并不会从收入上得到回报。 塑造整洁的编码习惯整洁的代码意味着很多事情,你可以从《代码整洁之道》得到更多相关的知识。作为一个刚入行的程序员,在代码上充斥着大量的问题,诸如于: 无用的注释 注释的代码 混乱的代码风格 缺乏设计/重构的代码… Read More
How to calculate time in Excel – time difference, adding / subtracting times This tutorial focuses on various ways to calculate times in Excel. You will find a few useful formulas to add and subtract times, calculate time difference, or elapsed time, and more. In the last week’s article, we had a close look at the specificities of Excel time format and capabilities of basic time functions. Today, we are… Read More
Here’s a self-contained illustration of one way to “slice” a 2-D array from: https://stackoverflow.com/a/22769603/17357868… Read More
VBA – How to auto fit row height of merged cells in Excel How to auto fit row height of merged cells in Excel? (extendoffice.com)… Read More
INDIRECT formula to dynamically refer to another worksheet ->INDIRECT(“‘” & Sheet’s name & “‘!” & Cell to pull data from) Excel INDIRECT function – basic uses and formula examples (ablebits.com)… Read More
Benefit for learning VBA Unlike macros, VBA enables you to do the following: Work with complex logic structures (case statements, loops, and so on) Take advantage of functions and actions not available in macros Loop through and perform actions on recordsets Perform transaction processing Create database objects programmatically and work with them Create libraries of user-defined functions Call Windows… Read More
ParamArray The ParamArray keyword allows you to accept a dynamic number of arguments.The word ParamArray is an abbreviation for parameter array.Instead of using a large number of optional parameters it might be better to use a parameter array instead.This can only be used as the last argument in a procedure or function.This keyword cannot be used with ByRef,… Read More
Python for Machine Learning: Indexing and Slicing for Lists, Tuples, Strings, and other Sequential Types List is arguably the most useful and ubiquitous type in Python. One of the reasons it’s so handy is Python slice notation. In short, slicing is a flexible tool to build new lists out of an existing list. Python supports slice notation for any sequential data type like lists, strings, tuples, bytes, bytearrays, and ranges.… Read More