IT大学生成长周报

2023-11-15

文章目录

IT大学生成长周报(第 1 期)

这里记录一周中关于Go语言,关于编程,关于生活资讯,关于各种工具、网站的搜集汇总。另外我和我的小伙伴会隔段时间进行讨论,我也会把其中值得分享的内容分享出来。

每周一发布。

本杂志开源(GitHub: Tjuvenile/weekly),欢迎提交 issue,投稿或推荐科技和资讯内容。

编程语言

插桩

代码插桩是测试和定位问题的常用手段,通过在代码对应位置插入相应的代码(“桩”),来打印或收集我们所需要的数据。

自动化插桩,也就是在代码的特定位置,自动的插入我们需要的一行或几行代码。

Linux高性能服务器代码学习

点此查看原文

里面讲述了Linux在代码层面的一些处理,想了解的可以看一下。

关于Mysql锁的一些知识和试验

点此查看原文

对于mysql锁的了解可以更进一步。

一道关于array的题目

本期是一道关于 array 的题目:

package main

import (
	"fmt"
)

func main() {
	// [...]中的...表示数组的长度是根据初始化值的个数来计算的。
	// [...]int{1, 2, 3}  ...就是3。 [...]int{1, 2, 3, 4}  ...就是4。
	// [3]int{1, 2, 3} 也可以直接这样来创建
	// 1:2的意思就是v[1] = 2。3:4的意思就是v[3] = 4。
	// 所以数组的容量为4,1号位置是2,3号位置是4,其它的位置补零。
	// 所以最终数组是0 2 0 4,长度为4
	v := [...]int{1: 2, 3: 4}
	fmt.Println(len(v))
}

A:2;B:编译失败;C:3;D:4

go-spew

点此查看原文

type Instance struct {
 A string
 B int
 C *Inner
}

type Inner struct {
 D string
 E string
}

上面的结构体中含有指针,当你使用fmt.Println打印时得到的打印信息如下:

{AAAA 1000 0xc000054020}

C打印的是一个地址,地址背后的数据被隐藏了,这显然影响我们排查程序。

go-spew可以帮助我们完成这件事。

// 下载:
go get -u github.com/davecgh/go-spew/spew
// 导包
import "github.com/davecgh/go-spew/spew"
// 使用
func main() {
 ins := Instance{
  A: "AAAA",
  B: 1000,
  C: &Inner{
   D: "DDDD",
   E: "EEEE",
  },
 }
 spew.Dump(ins)
}

得到的打印结果如下:

(main.Instance) {
 A: (string) (len=4) "AAAA",
 B: (int) 1000,
 C: (*main.Inner)(0xc0000ba0c0)({
  D: (string) (len=4) "DDDD",
  E: (string) (len=4) "EEEE"
 })
}

很显然,它的打印结果非常的详细,以及对指针数组打印的时候,如下:

// fmt.Println()打印
[0xc00011c018 0xc00011c030]
-----------------分割线-----------
// spew.Dump()打印
([2]*main.Demo) (len=2 cap=2) {
 (*main.Demo)(0xc00011c018)({
 a: (int) 100,
 b: (string) (len=6) "Python"
 }),
 (*main.Demo)(0xc00011c030)({
 a: (int) 200,
 b: (string) (len=6) "Golang"
 })
}

go-spew可以帮助我们调试我们的程序, Dump 方法可以帮助我们更好的打印信息,它也提供了其他方法,例如转换为字符串的 Sdump 方法;输出重定向的 Fdump 方法;与 fmt 类似的一套 Print 用法。

同时,可以通过 spew.Config 进行一些参数配置,例如设置 spew.Config.MaxDepth 用于控制打印深度。

Mysql为什么这么重要?

为啥MySQL对开发人员如此重要?

第一,不管你去面试哪家公司,数据库是必问项,而MySQL使用范围广,无论如何是避不开的;

第二,你对MySQL掌握的越深入,意味着你能做的事情越多。

实现业务功能,要懂基本的SQL语句;

性能优化,那么索引、引擎就要摸透;

想分库分表,主从同步机制、读写分离你就得了解;

安全方面,你得知道权限、备份、日志等等;

涉及到云数据库,就得懂源码及瓶颈。

Go编程模式:详解函数式选项模式

点此查看原文

Go语言没有构造函数,一般通过定义New函数来充当构造函数。

那么会有很多种初始化这些字段的方式,我们将分别说明这些初始化方式。

函数式选项模式是这其中最好的。 下面的代码演示中,我把多个文件的代码都合到一个文件了,为了更直观清晰的给你描述,理解了思想之后可自行安排。

首先定义一个结构体

  • 定义一个Server结构体,里面有两个参数。
  • 通过New函数接收两个参数赋值给Server结构体并返回
package main

import (
  "log"
)

type Server {
  host string
  port int
}

func New(host string, port int) *Server {
  return &Server{host, port}
}

func (s *Server) Start() error {
}

func main() {
  svr := New("localhost", 1234)
  if err := svr.Start(); err != nil {
    log.Fatal(err)
  }
}

如果我们要扩展Server结构体的参数,如何做?

  • 为每个不同的配置选项声明一个新的构造函数
  • 定义一个新的 Config 结构体来保存配置信息
  • 使用 Functional Option Pattern

做法 1:为每个不同的配置选项声明一个新的构造函数

在原有的基础上,加上几个New函数。即你可以再写两个函数来对结构体进行初始化,这种方式适合参数较少而且不太会变化的情况,否则每次新增参数的时候,你都要新创建一个构造函数。

package main

import (
  "log"
)

type Server {
  host string
  port int
  timeout time.Duration
  maxConn int
}

func New(host string, port int) *Server {
  return &Server{host, port}
}

func NewWithTimeout(host string, port int, timeout time.Duration) *Server {
  return &Server{host, port, timeout}
}

func NewWithTimeoutAndMaxConn(host string, port int, timeout time.Duration, maxConn int) *Server {
  return &Server{host, port, timeout, maxConn}
}

func (s *Server) Start() error {
}

func main() {
  svr := New("localhost", 1234)
  if err := svr.Start(); err != nil {
    log.Fatal(err)
  }
}

做法 2:使用专门的配置结构体

我们通过添加一个Server结构体对Config结构体进行封装,这样Config结构体不管怎么改变,用到Server的API结构不会被改变。

不过在创建Server结构体的时候,需要先创建Config结构体,这就又回到了做法1,。

package main

import (
  "log"
)

type Server {
  cfg Config
}

type Config struct {
  Host string
  Port int
  Timeout time.Duration
  MaxConn int
}

func New(cfg Config) *Server {
  return &Server{cfg}
}

func (s *Server) Start() error {
}

做法 3:使用 Functional Option Pattern

这种做法挺妙的

// 构建Server结构体
type Server {
  host string
  port int
  timeout time.Duration
  maxConn int
}

// 在这个模式中,我们定义一个 Option 函数类型
// Option是一个函数类型,这个函数接收*Server
type Option func(*Server)

// 然后些一个New函数来接收一个Option类型的不定参数
func New(options ...Option) *Server {
  svr := &Server{}
  for _, f := range options {
    f(svr)
  }
  return svr
}

// 接下来需要写一些Option函数来进行赋值
func WithHost(host string) Option {
  // 构造一个Option变量返回
  return func(s *Server) {
    s.host = host
  }
}

func WithPort(port int) Option {
  return func(s *Server) {
    s.port = port
  }
}

func WithTimeout(timeout time.Duration) Option {
  return func(s *Server) {
    s.timeout = timeout
  }
}

func WithMaxConn(maxConn int) Option {
  return func(s *Server) {
    s.maxConn = maxConn
  }
}

// 如何使用?
// 通过下面的方式,把一个一个的函数传递进去,每一个函数都会对同一个结构体进行赋值
// 最终这个结构体的参数就初始化好了。
// 未来增加选项的时候,只需要增加对应的WithXXX函数就可以了。
func main() {
  svr := New(
    WithHost("localhost"),
    WithPort(8080),
    WithTimeout(time.Minute),
    WithMaxConn(120),
  )
  if err := svr.Start(); err != nil {
    log.Fatal(err)
  }

Go 1.18 中的 any 是什么?

点此查看原文

Go 1.18 因为泛型引入 any,这实际上是 interface{} 的别名。

之所以引入any关键字,主要是让泛型修饰时短一点,少一些括号。 any会比interface{}更清爽。

不过后续可能会出现一个现象,就是我们的 Go 工程中,有人用 any,有人用 interface{},会在代码可读性上比较伤人。

我们也可以学 Go 官方,在 linter 流程中借助 gofmt 工具来强行把所有 interface{} 都替换成 any 来实现代码的一致性。

这次变更,感觉是个 Go 的美学问题

Go:七步制作精简镜像

点此查看原文

为Go语言建立一个精简的Docker 镜像。

2022 年 11 大 GoLand 插件

点此查看原文

友情提示:如果你搜不到下面的插件,请更新您的goland版本。

1、String Manipulation

使用此插件可以让你比较方便的处理字符串文本,比如分割,排列,随机排列行,更改大小写,按列排序,删除转义字符等。

2、Key Promoter X

有时你甚至会查找它们,但很快就忘记了,因为你使用它们的次数还不够多。Key Prompter X 通过在你每次使用鼠标菜单时发送弹出通知来帮助你熟悉键盘快捷键,方便你记忆,将来使用键盘快捷键。

图片

3、.ignore

一个方便的 .ignore 文件生成器和编辑器。如果你正在使用 Git,可能需要忽略一些被 checked 的文件。此插件允许你从 GoLand 中编辑忽略文件。

4、Rainbow Brackets

当嵌套括号存在的时候,这个插件为每对括号提供不同的颜色。

5、Gopher

它仅仅是一个进度条。

图片

5、Tabnine AI代码补全

良好的代码补全可以为你节省大量[5]键入代码的时间[6]。代码补全是大多数 IDE 的共同特征,但并非所有代码补全都是一样的。Tabnine 使用 AI 根据上下文预测你接下来可能想要输入的内容,而不是简单地根据你已经编写的内容列出所有可能的选项。

感觉不错,还没试用。

GoLand 2021.3 发布

点此查看原文

我看了一下,JetBrains系列都可以更新到2021.3了。

1、WSL的本地支持:

可以很方便的进行配置。 WSL(Windows Subsystem for Linux)是适用于Linux的Windows子系统,借助WSL可以在Win10中直接编译出Linux环境的可执行文件,可以让我们更方便的跨平台开发。

2、保存时默认执行gofmt

Reformat code选项(允许你在保存时运行 GoLand 自己的格式化程序)现在默认处于启动状态。

图片

3、内联函数/方法重构

先点击函数,通过Ctrl + Alt + N可以查看该函数的重构预览,看到函数的所有调用。

Go 服务中 HTTP 请求的生命周期

点此查看原文

从代码层面解析了http服务方面的内容。

15个开发者最常犯的错误,你中招了吗?

点此查看原文

  1. 追求速度,用丑陋的代码修复问题(Quick & Dirty Code Fixes)
  2. 注释掉整块代码,但是没有留下注释。
  3. 只测试常规场景,不测试那些不像预期那样发展的场景。
  4. 废话注释,有注释,但是没有提供任何信息。 例如for循环时,“循环遍历产品”这样的注释,注释不需要关注代码正在做什么,而应该关注这段代码的原因。
  5. 因不够了解框架内置了什么而重复造轮子,他们实现了新功能,但几乎和框架中已有的功能一模一样。
  6. 混乱的代码格式
  7. 在程序中使用字面量,比如含义不明确或重复出现的数字,要用常量替换。
  8. 没有自动化测试,写自动化测试需要比写手动测试投入更多的时间,但最终自动化测试也更省事。
  9. 单个函数功能过多,避免让函数获取、处理和输出数据,可以分成三个函数,一个获取,一个处理,一个输出数据。
  10. 差劲的提交信息,“修复了一个bug”或“正在进行中的工作”都不是很好的提交信息。提交信息非常重要,值得花费时间编写,需要解释“发生了什么变化”以及“为什么发生了变化”
  11. 编码包括规划和组织代码。在开始编码之前,应该有一个计划,计划一下在路上可能会遇到的问题,以及能做些什么来解决它们。因此,你需要注意到在编写代码之前还有很多事情需要考虑。

在for循环中append元素会死循环吗?

下面这段代码会死循环吗? 遍历s切片,并且不断在s中添加元素。

package main

import "fmt"

func main() {
 s := []int{1,2,3,4,5}
 for _, v:=range s {
  s =append(s, v)
  fmt.Printf("len(s)=%v\n",len(s))
 }
}

并不会死循环,因为for range只是for循环的简易写法,但是内部还是按照for的方式获取切片的长度进行循环。

新知

互联网大厂薪资真相:年薪百万有多难?

点此查看原文

要攒够100万需要多久?

  • it领域的薪资确实甩其它领域很多,是一个高薪领域,但是它并没有那么夸张,而且在这个领域内,顶层和底层的薪资差距巨大。

  • 想要涨薪,跳槽比晋升更快。 互联网公司名单中,按照待遇划分,第一梯队:字节跳动,腾讯,阿里,第二梯队:拼多多,快手,滴滴。第三梯队:美团,小米,京东。

  • 大厂也很喜欢用年轻人,单纯,动力十足,2021年腾讯的白菜价Offer已经达到了40万,比很多老人都高。 但是大厂也会为了留住老人,派发很多福利。

  • 互联网公司未来的增长越来越不乐观,导致加入一家互联网公司的难度也在逐步提高,越来越少的人可以享受到互联网的高薪红利,不过it仍然是平均薪资最高的行业。

黄东旭:写给后端程序员看的认知心理学

点此查看原文

“可交互性的设计需要多想一步,告诉用户半步,让用户自己走半步。”

明明门把手上是Push,但却是一个让人拉的形状,看到门把手自然而然想去拉,但是实际上需要推,这个就是违背了自我意识的产品。

image-20211203172404298

那么怎么设计一个系统软件,让用户用起来呢?

可交互性的第一个特点:概念模型:

人在做一件事情的时候,脑子经常都会对接下来要做的事情有下意识的预设,如果你的行为和预设不一样,就会很奇怪。

image-20211203172847381


可交互性的第二个特点:对程序员来说没有人会读文档

对于一个项目的作者来说,深入用户的心理,是赢得用户的唯一一次机会。

image-20211203172953753

Quick start的第一条shell命令很重要,因为它决定了后续还有没有后续。

image-20211203173058138

举个例子讲,打开TiUP的网站是这样,只有两句话的介绍,但是用户并不关心,用户关心第一行,拷贝到shell以后,然后系统接下来会告诉下一步怎么做,然后再执行复制粘贴,一分钟之内就搭好了一个本地的TiDB集群。

另外到最后还会告诉你很多其它的方式,比如你可以用Mysql客户端连接,或者其它的途径,比如导点数据进来等等。

图片

如果一个软件,可以很方便的让人使用,或者一个工具,可以很方便的让程序员使用,不必要去读文档,那是非常成功的。

可交互性的第三个特点:反馈

正常人的反应时间是0.15秒-0.4秒,超过这个时间会有明显的延迟感。

一个软件让人有愉悦感就是不给怎样,不管是否处理完成,在100毫米内给一个feedback,人们就会觉得很顺滑。

反馈三定律:

  • 不要暴露内部概念!
  • 用精简的人话暴露进展和状态,不要说废话,但是也不能不说。
  • 反馈必须及即时。

可观测性:

那什么是关键资源呢?对于一个系统来说,我基本会灵魂拷问这二十个问题。比如说突然莫名其妙给你一个完全陌生的环境,你只要把这 20 个问题搞清楚,大概就知道这个系统的状态。

可观测性做得好的软件,一定会有一个特别厉害的特点,就是会去「利用人的直觉」。 比如看到红色会意识到STOP,绿色就是GO。

image-20211203180131028

如何做好一份程序员的工作汇报ppt?

点此查看原文

这个回答分为4个部分:

  1. 首先是分析和拆解问题,为什么对于大多数程序来说,做好一份工作汇报ppt是件不容易的事情?
  2. 第二部分是针对问题的解决方法,主要是工具和逻辑思维两方面的训练
  3. 第三部分,既然是面向程序员的问题,那么程序员做ppt的优势在哪里
  4. 最后是总结与展望,随着人工智能技术的发展,未来可能做好ppt不再是个困难

为什么对于大多数程序员来说,做好一份工作汇报PPT不是一件容易的事情?

比如下面这张幻灯片,如果只是改一改文本框的文字当然容易,但是想做出来这样的模板对于程序员来说是有较高的门槛的,设计出这样的模板,并不是ppt高手用的多么高级的工具或者模块,而只是用简单的线条和图标,再通过颜色变化自己绘制的。

那也就是说,ppt这样的工具压根就不说为程序员而设计的,而是为有艺术技术技能的人准备的,那么做不好工作汇报ppt,就可以得出一个结论:工具不好用

图片

工具不好用要么改变工具,要么改变自己。

  • 我们可以针对ppt,专门学习一门课程或者一本较为全面的书。
  • 我们可以见到别人好的ppt设计时,多去模仿和思考。
  • 可以使用前端技术来写工作汇报,比如reveal.js(https://revealjs.com/)就是用前端技术写slides的一种选择,它可以通过代码(HTML + CSS)来生成ppt,对于程序员来说这种方式可以更好的去完成一些动画特效。

如何能够更好的表达逻辑?

  1. 结构化表达
  2. 用事实说话
  3. 用数据说话

可以采用下面的方式来编排自己的ppt结构。

图片

除了事实之外,还要有数据分析证明你的理由可以推导出你的结论。

这种逻辑推导靠直觉也是不够的,可以专门去了解一些相关知识:

  • 演绎法:马斯克的第一性原理推导理论
  • 归纳法,比如我们想分析因果关系,有著名的“穆勒五法”。

职场新人如何快速融入团队(系列一)

点此查看原文

怎么和新同事,新上级相处?如何赢得新伙伴的信任?怎么学习新的技术框架、业务流程、协同方式等,并做出成果?图片

技术框架:

组织架构

加入新公司的第一周,快速熟悉公司大体的组织架构,做技术的一般在技术部/研发中心/IT部门等一级部门,第一周可以和自己岗位强相关或者经常打交道的二三级部门同学聊聊,比如业务研发&基础架构&测试&运维DBA等同学,了解他们的日常工作内容和流程,快速获取和自己的岗位有关的信息,便于日后工作的开展。

流程规范

  • 公司规范:报销、周报月报、打卡考勤、补贴申请、公司红线等方面。
  • 技术规范:版本迭代、资源评估、需求&技术方案&用例评审、发布上线、资产申请、会议邀请方面。

业务背景

目前的核心业务是什么?业务流程从头到尾怎么串起来?各个核心业务的上下游依赖是谁,对应的产品、研发、测试、运维DBA等同学各是谁等方面。

技术框架

如果做技术的不了解公司的整体架构和组件,那么工作局限性会很大,自己的发展空间也会受到限制。

  • 技术栈(java、python、golang、PHP、.net)

  • 技术架构:

  1. 操作系统:Windows服务器、Linux服务器
  2. 系统架构:单体式、服务集群、分布式、微服务、SOA…
  3. 部署方式:自建机房、云服务、虚拟机、容器化…
  4. 请求链路:user→gateway→web server→app server→DB
  5. 技术组件:Redis、各种MQ、各种JOB、各种存储组件(mysql、tidb、HDFS、flink)
  6. 监控告警:cat、jaeger、zabbix、skywalking、Prometheus…

拿到结果:

长期规划

进入一家新公司要了解部门的长期规划是什么。包括但不限于:

  • 团队规模:目前多少人,预计本季度,本年度招聘到多少人。(粗略判断业务发展情况,上升空间等。)
  • 技术规划:目前是服务集群,要做技术重构,微服务化,容器化。(思考技术迭代变化中,自己要做什么,要解决什么问题,技术挑战)
  • 迭代效率:目前2周一个版本,预计多久变为一周一个版本,一周2个版本。

短期目标

大多数互联网公司会通过OKR和KPI来制定短期的目标。

这两种方式如何并不重要,重要的是我们如何从中汲取和自己有关的部分。

快速落地

职场是一个赤裸裸的生存法则具现体,无论校招还是社招,对每个人的考察期和机会都差不多,融入团队的首要目标还是要先证明自己的价值,快速拿到领导想要的结果,证明自己值这些钱,才能想其它的。

那么如何快速落地?简单说就是:解决问题

你目前处在那个团队&岗位,目前团队面临的问题和困境是什么?你能否解决?交付的质量怎么样?领导安排的工作分工你是否按时保质的达成了领导想要的结果。

沟通态度:

躬身入局

每个人或多或少都会有先入为主或者路径依赖,认为之前自己解决这样的问题是这样解决的,当面对这样问题的时候就会放松警惕,但是时机会改变,场合也会改变,加入新的公司新的团队,过去的工作经验和固有的思维模式很可能不适配,所以新人应该尽可能的以初入职场的心态,放空自己,从零开始,快速学习,快速了解团队的人、事、流程和方法等。

具体做法就是先僵尸化跟随师兄,使自己能够快速把基础工作做好,先拿到结果,经过一定的项目锻炼后,再结合过去的经验和持续学习的输入,能够提出现有机制流程和系统方法等方面的优化建议和解决方案。

提问思考

新人集中加入,师兄和TL往往要同时带多个新人,比较难方方面面都能够把信息及时的Push到新人。建议新人自己主动多去Pull信息、任务和目标。利用好周报、OKR等工具,全面快速拉取信息,而不是等着他人Push过来。

严己宽人

多思考推动,事情才能真的变好,直面我们当前的问题,解决当前的问题,把别人的问题尽可能缩小,尽可能放大自己的问题,让自己的工作能够无懈可击。所有人都喜欢一个有担当且无BUG的合作方,所有人都不喜欢一边抱怨一边自己做不好的合作方。

积极主动

  • 将自己的格局放大,为团队做事情,看到整个团队,那么团队当中有需要人做,但是还没人做的事,都是你的事情。好比你们一直苦于没有一个好用的报表工具,那你看到了这点,是否是能够抽空去做一个。之后团队其他人用的都是你写的工具。TL 和团队小伙伴是否会对你高看一眼呢?

  • 另外做事情件件有着落,事事有回音。老板也能很放心的把事情交给你。

  • 比其它人多想一步,即便没有提出要求,也能积极地推导或解决某个问题。比如隐藏bug。

技巧工具:

周报月报

可以将部门team leader,核心技术同学的邮件单独设一个邮件组,每天花一点时间来了解他们的报告里包含的信息,会有一些出其不意的收获。

会议纪要

大多数时候开会是一大群人在会议室争论半天,讨论的就几个人,大多数就是打酱油的。但有一点需要注意:会议的目的是对一些事达成共识和明确推进的事项以及明确事情的负责人。

会议纪要往往能体现这一点(如果加入的公司有这种机制的话)。了解项目的背景、各方面负责人、目前的进度风险和待办事项,对个人是利大于弊的一件事。

那么我们也可以知道一个会议纪要要具备哪些元素:

  • 我们要对哪些事情达成共识?
  • 我们接下来要推进哪些事情?
  • 事情对应的负责人是谁?

技术文档

通过文档可以让我们很快的了解新公司的相关技术和业务(如果有最好,如果没有,可以从你开始做技术沉淀)。

这里的技术文档包括但不限于:技术设计文档、API设计文档、需求文档、用例分析设计文档、业务逻辑文档。

时间管理

相信很多同学日常的工作时间会被很多事情打断,比如随时被其他同事咨询问题,参加会议,头脑风暴等各种操作,工作时间碎片化,不仅精力分散,而且该干的事情实际上进度并不理想。该如何解决这个问题呢?:

  1. 学会拒绝,界定工作的边界和职责范围;
  2. 不必要的会议不用参加,事后看会议纪要或者和同事聊聊就好;
  3. 番茄工作法之类的时间管理方法都可以尝试起来,找到自己适应的节奏;
  4. 建立工作清单,每天来公司第一件事列出今天/本周要做的事情,分类按重要程度排序,完成打个勾;(这也可以帮助我们写周报)

职场新人如何提高工作效率(系列二)

点此查看原文

流程规范

每个公司有自己不同的流程规范,从产品设计到上线交付的角度来说,常见的有:

  • 需求评审流程;

  • 估时排期流程;

  • 技术方案评审;

  • 测试验证流程;

  • 线上发布流程;

  • 问题处理流程;

可以审视自己的公司是不是欠缺了哪个环节,导致频繁的需求变更,代码修改,可以了解背后的原因,然后适时提出建议。

工作习惯

要高校完成一件事,最好高度专注的做事情,但是面临工作中被频繁打断思路的情况,该如何解决?

  • 做一件事情前先深入了解它,分析它的背景目标,结合实际情况和排期制定计划,做好风险评估(比如延期&资源不足),并主动暴露风险,和团队沟通寻求解决方案;

  • 优先做重要紧急的事情,如果怕忘记一些事,可以用便笺或者记事本提醒自己

  • 学会拒绝,不是所有需要你协助的事情是真的需要你,可能他只是找不到其他人

  • 主动和团队中的老人请教,学习了解他日常工作中的一些做法,汲取适合自己的;

  • 花一些时间熟读文档,包括但不限于:技术设计文档、API设计文档、需求文档、产品PRD文档(如果没有,可以从你开始做技术沉淀);

  • 不要花太多时间在沟通和学习上,在快速实践中熟悉更重要!先落地拿到结果,解决问题,再考虑其他;

  • 多沟通的目的是不断和上级确认要做的事(背景、目标、衡量维度),在不断沟通中,明确目标和保持方向一致性。当然,过程中需要注意,每次沟通需要有新的沟通内容,比如方案、进度、风险。让领导知道你在做什么,目前进度,遇到什么问题需要领导协助解决,不要临近deadline或者出问题了领导才知道。有时候对上级来说,不求有功但求无过,是很重要的,因为他也要向上汇报向上管理。

职场新人如何保持不断成长(系列三)

点此查看原文

技术的深度和广度

职场生涯前期,应该在技术的深度上投入更多的精力,然后以点破面。

管理是个烈火烹油的岗位

工作至今,面试过很多人,也被一些人面试过,大多都会问到一个问题:你的职场发展规划是什么?而管理是很多人绕不开的话题,甚至是很多人的意难平。

我个人目前的看法,职场的职位分布绝大多数时候是个金字塔型,少部分是纺锤型,这就注定了所谓的管理岗位以当前的情况,永远只是少部分人的权益。中低层管理,也许只需要业务/技术/沟通/情商等方面就可以胜任,这也是绝大多数人的职场天花板。而高端的管理岗位,所需要的眼界/格局/资源/背景/关系,就不是普通人先天就拥有的资源。有时候,出生没有的,后天大概率也不会拥有。

就互联网领域技术岗位而言,有时管理岗收入不见得就比普通职工高很多,当然这里指的是直接的上下级关系。但做管理要承担的压力,对个人生活节奏以及心理状态的影响,就不是物质所能衡量的

保持耐心和学会满足才不会患得患失

  • “警惕被现实挫败之后的自我毁灭”;

  • “想要一些东西,总要自己去争取才行”;

  • “不可能那么好,但也不至于那么糟糕”;

乔纳森·艾维的最新设计

点此查看原文

乔纳森·艾维(Jony Ive)曾经是苹果公司的首席设计官,负责了许多极为畅销的苹果产品(比如 iPhone)的设计。2019年,他离开了苹果公司,创立了自己的设计公司 LoveFrom。

最近,他发布了离开苹果以后的第一个公开的设计作品。那是为英国环保基金会 Terra Carta 设计的一个印章,专门颁发给为环保做出贡献的公司。

关键在由于环保的原因,这个印章不能使用贵重的金属制作,只能是纸质,接下来就是想让大家看看设计师怎么让一张纸变得有美感的。

image-20211206214801245

墓碑二维码

点此查看原文

一个萨尔瓦多摄影记者为自己的姑妈,制作了一个墓碑二维码。扫墓的人们只要扫描这个二维码,就能看到死者生前的音容笑貌。

他计划推广这项服务,收费50至150美元,在墓碑上嵌入二维码,并提供一个网站空间,用来展示已故亲属的照片、视频和文字介绍。

image-20211206215011968

触觉手套

点此查看原文

改名为Meta的脸书公司宣布了一款触觉手套的原型产品。可以在VR空间感受真实的触觉。

image-20211206215109785

蓝牙的来历

点此查看原文

蓝牙(bluetooth)是一种短距离、低功耗无线通信协议。这个协议的名字很奇怪,它是怎么来的呢?

image-20211206222228919

1998年,加拿大举行了一次国际会议,讨论如何制定一个无线通信的国际标准。

讨论了一天之后,工程师们去了一间酒吧,然后看了一本北欧历史小说,小说的一个主要人物是一个国王,他有个绰号叫“蓝牙”。

于是工程师灵机一动,就把将要制定的国际标准的代号定位“蓝牙”。

世界第一台蓝牙设备在1999年上市。当时,蓝牙还只是临时的代号,但是人们想不出更合适的名字,于是它变成了永久名字。

更详细的可以查看文章。

效率是创新的敌人

点此查看原文

效率,其实就是在追求局部最优解。

比如你要去公园,导航会给你一个最省油,省成本,省时间的路线。

因此,你不会知道隔壁一条街新开了一家早餐店,你也不会知道,隔壁一条街新修了一条大马路,可以更舒服的到底。

除此之外,当这条最短路径失效了,怎么办?

一般的选择是——放弃最短路径,兵分几路去找,这样看起来没有效率,但它恰恰是“创新”的开始。

有两个例子:

1、字节跳动:

字节跳动在2016年看准短视频这个市场,它尝试了火山小视频头条视频抖音短视频三个App,同时开三个项目来做,有人觉得火山小视频会成功,有人觉得头条视频会成功,没想到是抖音成功了。

那么如果当时字节跳动只选择做一个app的话,可能就没有抖音的存在了。

但是,不代表多浪费,就能创新了,因为创新的时候,会去尝试很多的可能性,所以势必会带来一些浪费——这个浪费一定要在自己可接受、也可承受的范围内。

2、腾讯:

腾讯内部流传一句话:不挤出最后一滴水。

意思就是不让员工所有的心思都花在工作上,比如需要100个人,就招120个人,就是让大家不要拼尽120%的努力才能完成公司交代的工作,而这样就是不讲效率的方式。

有的公司甚至要求75个人做100个人的事情,为什么腾讯要这样做?——因为他要的不是效率,是创新。

当然,这有个前提,他能赚钱。

当你不挤出最后一滴水时,一部分人就会多出一些时间来,他们就会想,我怎么办呢?有什么更好的办法呢?


不过效率仍然很重要,创新是开辟一条别人没干过的路,而我们一旦确定这条路之后,接下来研究的问题,就是将这条路最优化。

因为创新最终都会被别人学会,一旦大家都这么干的时候,还是要靠效率来竞争。

创新,造就阶段性领先;

效率,成就持续性领先。

PS:

平时在生活中,我们每一个人都是一个产品,如果想要阶段性的领先周围的人,就要想办法创新,然后追求新方式的最短路径。

人与人之间的差距,来自于哪里?

点此查看原文

人与人之间的差距很大程度上,来自于对人性理解的不同,来自于“反人性能力”的不同。

具体来讲,是认清并努力克服了我们常说的:贪嗔痴。


贪:想用最少的努力获得最大的回报

极端情况,是不用努力也能有最大的回报。空手套白狼,不劳而获——骗子最喜欢这样的人

一个普遍的“骗术”是:两个骗子商量好,其中一个人在地上假装掉了100块钱,还有1张存折,扬长而去。

另一个骗子,蹲在旁边的树丛里,等着“猎物”出现。

果然,那个贪心的人来了。

他弯腰把那100块钱和存折捡起来,打开一看,20万。这时候不知道从哪里突然出现一个人,“你在干什么?我也看到了。”

沉默了一小会,开口了。“见者有份。”

“这样吧,你先看到的,大头你拿走,你就给我2万块钱吧,存折归你了。”

显然,存折是假的。

可能你觉得这样的手法非常拙劣,但是世界上真的有这样被骗的人,而且这样的事情随时都在发生。

骗子是利用人们想不劳而获的心理,找到了在这种心理上发挥极致的那群人。

这也是为什么,老年人容易上当,相信保健品能治病。

但那些对“贪”理解更深刻,能反人性的人呢?

他们知道天上不会掉馅饼,知道要遵循规律和尊重常识,知道辛苦一点才有收获。

甚至,他们还能利用自己的聪明才智,利用科技进步去发明创造,发明了汽车、轮船、飞机……让别人付出更少的成本实现自己的目标,推动了社会的进步。

这是更深刻理解人性,还能反人性操作的人。


嗔:“只要你过得比我好,我就受不了。”

但那些对“嗔”理解更深刻,能反人性的人呢?

他们知道,这是自己的嫉妒心作祟,明白对比会让人永不满足。

就像有人经常说,如果我现在能有100万,那我的生活一定特别幸福。

但是,当你有100万的时候,就会见识到有1000万的人是怎么生活的。住大别墅,请人养院子,成天晒太阳。

但是,当你有1000万的时候,就会见识到有1个亿的人是怎么生活的。突然心情不好,就跑到巴黎去喂鸽子,晚上吃完饭后,第二天早上又飞回来。

但是,当你有1个亿的时候,就会见识到那些有10个亿的人是怎么生活的。在美国买房子,6000万美金的价格,还价到4000万美金。原来人家买房讨价还价,是按1000万美金为一个单位的。

但是,当你有10个亿的时候,就会见识到那些100个亿的人是怎么生活的。结一次婚,会专门包下一座岛。为了不被人打扰,甚至会包下那座岛周边的所有岛。

比较,让人永不满足。

所以,那些“反人性能力”强的人,往往不会把财富当成目标,而是知足常乐。已经拥有的,大于想要的,就能幸福。


痴:沉迷,对即时满足的依赖

对游戏的成瘾不是毁在了游戏上,而是毁在了即时反馈里,毁在过早地在低级娱乐上获得了满足。

低级娱乐就是在其中获得成就的成本,远远小于在现实中获得成就的成本的娱乐。

如果在现实中要付出巨大的努力才能获得一点点成就,在娱乐里就可以轻而易举地得到,那为什么还要去创造?

但是人与人的差距也往往在这里。

那些对“痴”理解更深刻,能反人性的人呢?

他们知道,人的成就不在于即时反馈,而在于延迟满足。

所以他们能够忍受辛苦和劳累,付出努力,每周工作几十上百个小时,因为不想沉迷在易得廉价的娱乐里。

因为离开那种娱乐之后,现实可能依然没有丝毫改变。

你是想要短暂的快感,还是长足的快乐?

平凡和命运?

点此查看原文

不想当一个平凡的人,这个志向很好,人应该有这个志向。

不平凡的概率是小的,概率就是人们习惯说的“命”,但这个命不是被动的,是主动的,比如说德要配位,你突然有了一个高高的位置,能量很大,或有权,或有钱,或有影响力,甚至兼而有之,那么,你的道德也要很高,不然就意味着灾殃的到来。

在中华文明里,要当一个不平凡的人,某种程度上,是很苦的。就像伟大的曾子得了重病,以为将死,却如释重负,因为一生战战兢兢,如临深渊,如履薄冰。不平凡的人很少,但世界需要他们。

不平凡的筛选标准是时间,就像孔夫子说的,一个人到了四五十岁,还没美名,则“不足畏”——是个平凡人。

人们没那么容易给你“不平凡”的荣耀,必须战胜一连串的挑战。

成绩上不去,我也努力读书;工作普通,我也努力尽职;让自己的家庭永远有温暖,不嫌弃家人只是平凡人。这样过了几十年,你就处于不败地位,你会成为一个不平凡的人,另外即使平凡,你也是从来给身边人以力量、以信心、以温暖的人,这样的人,一生是很圆满的、很幸福的,谁又能说他平凡呢?

你该坐在会议室的哪一边?

点此查看原文

到一家陌生公司去访问,进到一个陌生的会议室,里面是一个长条的会议桌,两边都有椅子,请问你该坐在哪一边?

标准答案:客人要坐在背靠门的那一边。

一个正在开会的会议室,最大的不确定因素来自哪里?就是门口进来人

让会议室的主人,面对门,随时能观察到门口进进出出的人,这就有了掌控感。而客人呢,通常都是为一件特定的事而来,不需要对全局有掌控,所以,背朝门坐就行了。

如果更深一步地看这个问题:来访者通常都相对弱势一点,比如生意上的乙方,让自己看不到门口发生的事,处于微妙的信息劣势,把掌控感主动交给甲方,这本身就是让甲方感受到善意的一种方式

写文章的首要技术是什么?

点此查看原文

最重要的是分解任务,把总体的意思分解成一个个更具体的意思。

比如,你要介绍一个城市,这是很难写的一篇文章,但是如果你写十个代表这个城市历史和现实风貌的人,这个难度就大大降低了。

比如,你要描述一个公司的组织架构,这是很庞大的,但是如果你只写某个部门,这个难度也就下来了。

短视频中1秒就划走,说明什么?

点此查看原文

短视频推荐算法有这样一个问题:一个用户如果看到一条短视频,迅速就刷掉,比如说在1秒钟之内就划走了,这说明什么?

一般人的思维就是:他对这类视频不感兴趣啊,算法以后就不推荐这一类了。

研究发现很多1秒就划走的,反而说明他是在抵抗诱惑。举个例子,有人晚上正饿呢,突然刷到一条关于吃的短视频,他迅速划走,现在的算法可不见得认为他是不感兴趣,他可能只是在抵抗。你再给他看几条,他的抵抗就崩溃了。

再比如说,有人跟老婆或者女朋友在一起,看到一条美女跳舞的视频,他也是迅速划走,他可能只是担心旁边的人介意而已。放心,算法还会再推送给你的。

简单的算法对付不了复杂的人性。

年关将至,你必须做好三场沟通

点此查看原文

里面宣传了脱不花的《得到·沟通训练营》

PS:文章正文讲了如何对上级,对下级,对客户的关系维护,里面涉及到比较复杂的对人性的把握,想详细了解可以查看原文,我感觉我暂时还不是很需要,所以就不详细总结了。

到底应该招什么样的员工?

点此查看原文

一维的思维看人:

能力强和态度好,我只能选一边。

二维的思维看人:

能力强和态度好,我可以同时都看,第一象限的员工很难招,但是花足够的时间和代价,还是能找到的。

image-20211208191053565

三维的思维看人:

再增加一个可塑性的维度,就不仅仅是为了招当下能力很强的人,而是为了招未来的人。

什么是管理者?什么又是领导者?

点此查看原文

顶尖高手,既是将才也是帅才。

所谓的“将才”,就是“管理者”。 所谓的“帅才”,就是“领导者”。

管理,就是“通过他人来达成目标”,是从依靠自己变为依靠他人。

把“有问题 -> 动手 -> 解决”的这个能力系统,重构为“有问题 -> 抽象化问题的目标和指标 -> 传达要求 -> 看着被人完成 -> 解决”的能力系统。

什么是管理者?

十个人协作做一个项目,有一个人专门来做管理者,管理者最重要的职责,就是通过协调这九个人,让九个人干的活比原来十个人还要多,这就是管理者的价值。

所以,管理者的意义,就是“把事情做对”,带领团队更快、更好地达成目标。

什么是领导者?

而领导者的意义,就是“做对的事情”——要达成什么目标? 要进入哪些市场? 要以什么样的方式和对方合作? 未来3年、5年,我们要做什么? 这些问题通常不是管理者的职责,而是领导者的职责。

领导者考虑的是战略问题,是经营问题,需要更高的维度来做出正确的决策。

管理者,是在决策之下,使它更有效率地完成。

领导者和管理者在权利上有什么区别?

领导者的领导力,主要是影响力,它对下属没有直接的权力。

管理者的管理力,主要是赏罚的权力,比如发奖金,发股票,扣奖金,或者把你开除。

赏罚的权力只对下属有用,只能作用于内部,影响力可以作用在全局。

比如领导者可以通过树立愿景、价值观,让团队成员彼此激励,共同朝一个目标前进。

总结

帅才,运筹帷幄之中,决胜千里之外。

将才,战必胜,攻必克,使命必达。

为什么不能轻言对错?

点此查看原文

理解进化论有一个好处,就是有些情况现在看起来是错的,但是环境会进行改变,改变了之后,原来的优势和劣势就会翻转——很可能错的就变成对的了。

另外,努力也会改变状态,比如明明原来看起来是错的方向,努力的时间够了,也就慢慢对了。

所以,进化论告诉我们——不轻言他人对错。

你不是没重点,而是没结构:如何有效分析问题?

点此查看原文

面对很多错综复杂的问题,如何抽丝剥茧地分析?

七步分析法:定义问题、分解问题、问题排序、分析计划、关键分析、归纳建议、交流沟通。

为什么大家都知道这七步,但是总做得不够好?

因为没有结构化的思考和表达框架

如何训练?

  • 清晰定义问题
  • 遵循MECE法则
  • 有逻辑的沟通

1、 清晰定义问题

为什么清晰定义问题是重要的?因为解决问题的前提,是找对了问题。

A认为问题是A,B认为问题是B,C认为问题是C,每个人都不一样,问题,到底是什么?

问题是在What和How背后大大的Why。

问题案例:

问:“如何解雇我的高管?”

这不是一个清晰的问题。

“请问如何解雇高管?”,这是一个“How”的问题。

“通过什么办法解雇高管,对公司的伤害最小?”,这是一个“What”的问题。

在“What”和“How”的背后,还有一个“Why”。


经过不断的追问,才知道是因为公司的高管对于自己公司的愿景表达的不清晰,不相同,让公司老板在投资人面前丢了面子,所以想把他们辞掉。

真正的问题暴露出来了——“如何让高管们真正理解公司的文化和战略。”

所以,清晰定义问题,就是在What和How背后找到那个真正的Why,如果找不到,就追问,不停的追问。

真正的原因就隐藏在不停地追问中。

由此可见,我们常常提出的问题,根本不是背后真正的问题。

2、遵循MECE法则

MECE法则用来穷尽所有的选项。

问:你要讨论新游戏的目标用户定位,你打算为哪个群体,开发一款游戏?

一般的做法可能是:男人、小孩、成年人、老人、宅男、二次元少女…

看上去很丰富,但是这些词汇明显违反了MECE法则

男人和小孩有重叠,叫小男孩。宅男,和老人有重叠,叫孤僻的老头。而且,还会漏洞其它一些角色,比如女白领等等。

那应该怎么做?

在第一层,按照性别的角度划分:男人,女人。

在第二层,按照年龄的角度划分:小孩,青年人,中年人,老年人。

每一层都复合MECE不重不漏的法则。

你可以多角度的进行分解,如果是分析进度,可以按照过程阶段分解。

如果是分享成本,可以按照工作项来分解等等等等,而这些一个个分解的角度,就是一个个“模型”,对这些模型已经成熟的研究,就是一个个框架,比如SWOT分析,营销的4P模型,波特的五力框架等,这些都是前人的思考,面对某个问题的优解方案。

不要重新发明轮子。

3、有逻辑地沟通

在与人协作的过程中,会有很多时候需要进行沟通,那么如何训练自己有逻辑地沟通?

芭芭拉·明托,除了提出MECE法则之外,还提出一个结构化表达的工具:SCQA。

S即,背景(Situation)。

C即,复杂性,常意译为冲突(Complication)。

Q即。问题(Question)。

A即。答案(Answer)。

同样一件事情,不同的表达方式,给人的感觉,取得的结果可能完全不同。

SCQA四种的编排并不是一成不变的,通过不同的排列会得到完全不同的结果。

开门见山式:ASC。 答案-背景-冲突

老板,我要向你汇报的是:把销售激励制度,从提成制改为奖金制的建议。 (A,答案。)

公司从创始以来,XXXXXXX。 (S,背景)

但是出现了XXX问题,导致公司一直亏损。(C,冲突)

所以,我建议改成奖金制,XXXXX。

突出忧虑式(CSA)。 冲突-背景-答案

把上面的内容调换一下顺序,语句通顺。

最近出现了XXX问题,导致公司一直亏损。(C,冲突)

公司从创始以来,我们一直采用的方案是XXXXXXX。 (S,背景)

我建议:把销售激励制度,从提成制改为奖金制。 (A,答案。)

突出信心式(QSCA)。问题-背景-冲突-答案

为什么公司最近的业绩不佳?(Q,问题)

因为我们过去一直采用的方案是XXXXXXX。 (S,背景)

这种方案会出现很多的问题,XXXX。(C,冲突)

我建议:把销售激励制度,从提成制改为奖金制。 (A,答案。)

对转换自己思维模式的建议

点此查看原文

普通人改变结果,优秀的人改变原因,顶尖的人改变模式。

有的人忙着擦地板上的水(结果)

有的人去关水龙头(原因)

有的人考虑要不要在这里放个水龙头(模式)。


对于简单的问题:比如把杯子倒空。

只需要专注于自己的态度和行为就可以了。

如果想发生实质性的变化,那就需要“思维转换”,可能连杯子都要换掉。

第一个建议:多读书,多交友,多旅行。

每本书都是一套“思维模式”。

每个人,也是一套“思维模式”。

第二个建议:把自己放进别人的鞋子里。

某所学校有一笔贫困助学金需要发放,通常情况之下,流程上通常需要学生先主动申请、评选、最后进行公示。

但是很多贫困生碍于面子、自卑、害羞、宁愿勤工俭学,也不愿申请公开申请。公开评审,又会伤害学生自尊心。

最后学校用大数据分析,把每月在食堂吃饭超过80次,月饭费不超过450元的学生,划为贫困生,不审核不公示,直接把补贴打入饭卡。

把自己放进别人的鞋子里,细细体会其中的微妙分寸,才能更好的做出适合的决策。

管理者的10个建议

点此查看原文

从依靠自己,到依靠他人。

管理就是通过他人来达成目标。但是会遇到这样一个问题,你做了经理,但是你发现:你的员工不如你。

一般的做法:“狠狠骂一顿,然后说算了算了,放着我来。”

千万不要,你需要知道他们,帮助他们。

但是,一定要让他们独立完成自己的目标。 每个人的目标完成了,你的目标也就完成了。 要从依靠自己,变为依靠他人。

每个人都有自己的早晨,到时候就会醒来。

一个案例:

员工写了一份很重要的报告,让上司审核,上司提了很多的建议,但是只字未改。

员工根据建议不断的修改,再让上司审核,上司提了很多的建议,但是只字未改。

员工根据建议不断的修改,再让上司审核,上司提了很多的建议,但是只字未改。

就这样来来回回,为了一份报告,两个人在办公室一直改了一个通宵。

上司明明可以自己改完,然后回家,但是他却花了整整一夜,眼睁睁地看着我把事情做砸。

我每一次做砸之后,他提的意见,付出的时间,都是对我的投资,让我积少成多,慢慢成熟。

如果你是管理者,面对不成熟的下属,请你也相信:每个人都有自己的早晨,到时候就会醒来。

反对,而不是批评

反对,是表示我不同意你的观点。我讲出为什么不同意。

批评,是我认为你的观点是错的,我讲出为什么你错了。

本质差别,是有没有把自己放在必然正确的位置上。

就从你和下属的关系上来说,第二种是一种高下关系,就是我比你高,你要听我的。

而第一种是一种并排、平行关系。

我虽然是你领导,但在完成目标这一件事上,我们是一致的,我们共同努力。

德鲁克说,管理的本质,就是激发善意。

你是要一个不主动思考,只听话的下属,还是一个会主动思考和你并肩战斗的战友?

如果是后者,我建议你,要反对,而不是批评。

脸书为什么改名Meta(元宇宙)?

  1. 大多数美国成年人每天看电视或者玩电子游戏的时间,长达几个小时。 电视节目或者电子游戏,本质上都是提供了虚拟世界,让观众和玩家脱离现实,感受到快乐。 这说明人们愿意呆在虚拟世界里,哪怕现在的体验还非常初级。
  2. 很多人可以在计算机面前工作一天的时间。

人们愿意呆在虚拟世界进行娱乐工作,元宇宙的需求真实存在,而且这种需求很大,只要能够创造更好的体验,就会诞生一个空前的市场。

元宇宙 = 虚拟世界。

生活资讯

迪拜世博会——“空中钢琴”

image-20211206214127080

5G 基站有多耗电?

点此查看原文

image-20211206215421873

一个 5G 室外基站平均功耗 3.8KW 左右,是 4G 基站的3倍以上,电费约2.3-3万元/年。估计到2026年,5G 基站耗电量将上升至全社会用电量的2.1%,略高于数据中心(约2%)的耗电量水平。

《梦想改造家》——时尚不代表实用

《梦想改造家》这个节目就是会有著名的设计师给普通人设计改造房子。 一般来讲,改造前的房子不仅摆乱无序,收纳空间安排不合理,还会有各种建筑质量问题,设计师会对此进行改造,最终的目的是交付一个看起来时尚感很足,而且满足未来的需求的这么一个房子。

最近一期,给一户农民盖了房子,据说结果是这样的——“远远望去,极富设计感,绝对是西北农村绝无仅有的存在,只是进去一看,处处都透露着毛坯风,另外,它并不一定称得上宜居,比如:设计有宽大的窗户,冬天不一定保暖,夏天要感受酷暑。”

我也没看过这个节目,我也不了解设计师的思想,但是这并不妨碍我们从中得到一些思维。

设计师在设计房子的时候,更多考虑的是设计感,美感,与众不同,所以往往在有些时候,宜居可能就被心中的信仰排到稍后的位置,但是对于我们来讲,还是坚实,冬天不冷不干,夏天不热不潮的房子更重要一些。

聋人——失聪后的世界也别有风采

聋人不是聋哑人,他们只是丧失了听觉,但语言功能是完整的,只是长期不能听而没能习得说话能力而已。

我们和聋人的唯一区别就是我们能听而他们不能,所以我们称自己为听人。

当你了解聋人,会发现他们更敏感,他们更单纯,我们因为可以听得见,我们的世界变得很复杂,也越来越累。

学习手语

当我们没有聋的时候,学习手语是很难的,但是当你聋了之后,学习手语是自然而然的事情,因为这里面有一个心态的问题。

我们一直以为手语只是动作,但其实不是——聋人会告诉你打错了。

手语不仅是手上的动作,它还需要肢体动作和表情的配合,可就算是我们加上动作和表情,聋人会告诉你:太丑了——因为太复杂所以不美丽了。

聋人因为先天条件的限制,生活在一个相对单纯的环境里,而这正好促使他们保持了本真。

芝加哥事件

华人郑少雄在芝加哥大学附近被黑帮枪杀,掠夺了身上的财物,最终卖了100美元,牺牲了一条生命。

于是在美的华人开始向校方抗议,争取更好的治安和更多的保护。

让我们反省的是,城市的治安已经控制不了局面——这是一件多么恐怖的事情。

经常会有黑帮通过枪射杀路人,相比之下,中国多少人一辈子都看不到真枪。

资源推荐

书籍推荐

乔布斯如何用一生诠释 “Insanely Simple —— 《疯狂的简洁》”

点此查看原文

Insanely Simple 这本书是前微软高级副总裁沈向洋强烈推荐的武林秘籍,他说那年在香港机场偶遇此书,掩卷后赞叹不已,给自己的所有下属一人买了一本,“强制” 读完。

推荐这一本书:《疯狂的简洁》:

强烈推荐互联网、消费CEO和高管、实体/虚拟产品经理、设计师、市场/PR团队等阅读。简洁是通过正确的组织方式,刻意设计的结果。

  1. 简洁沟通:非常直接清晰的给到明确反馈,好还是不好,具体哪里不好
  2. 简洁开会:开小会,不开大会,会议不需要「旁观者」
  3. 简洁组织:精英小团队,甚至要求Mac团队不能超过100人,多了就淘汰差的,因为乔布斯只能记住100个人
  4. 简洁产品:乔布斯回归砍掉一系列复杂产品线,专注Mac,让用户少选择;段永平也说过类似的话,说OV还不够厉害,做到iPhone那样一条产品线才是真的厉害;iPhone只有一个按钮不是三个
  5. 简洁传达:产品命名简单好理解,电脑是Mac系列,手持消费品就是i系列:iPhone+数字编号,而不是复杂难记的形容词;即便iPhone这个名字有商标风险也先用再说;一个广告只传达一个理念,不写一堆参数

为什么标题说乔布斯用一生诠释这本书的内核呢?因为乔布斯会直接告诉别人自己的想法,完全不顾别人的感受。

但在我们的生活中很少有人愿意或能做到在任何时候都开诚布公。这并不是说大多数人不够光明正大,只是在某些情况下,我们会感到苦恼,不愿吐露自己的真实感受。与此同时,我们会考虑别人的感受,设法避免破坏和谐的氛围。但乔布斯不管这些,这些都与他无关。无论你是敌是友,真理就是真理,他的意见就是他的意见,和他是否喜欢你、是否重视你毫无关系,与氛围是否和谐更是毫无瓜葛。

  • “精英小团队”的原则:“复杂”通常会让你绕远路。比如我们经常会参加“人口过剩”的会议,如果参会规模减半,就可以降低大家的时间花销。会议要么非常需要你,要么根本不需要你,会议无关私人关系,完全是公事公办。会议需要每个人都是至关重要的参与者,不欢迎观众。
  • 召开出色会议的建议:1、只邀请相关人士参会。2、如果会议超过30分钟,请离开会议室。3、拿出成果来,别浪费开会时间。
  • 灵活的时间表:搞砸一个项目最简单的方法就是给人充足的时间让人再三思考,再三修改,我们只需要制定计划,然后给自己相对紧迫的时间就可以了。
  • 简洁的程序:开发一款将家庭录像转换成DVD的应用程序。 乔布斯就说了一句话:“这是个新应用程序。它只有一个窗口。你可以把视频放进来,按一下’'刻录"按钮,就算搞定了。这样的程序就是苹果想要的。”。 不需要太多乱七八糟的方案和测试。
  • 主见与倾听:乔布斯很有主见,很难被外界影响, 因此,他可能反复拒绝你的提案,让你一再受挫。但是,这并不是说史蒂夫会永 远坚持己见。如果你热情满满地向他介绍出色的创意,他一定会洗耳恭听,然后找出其中的绝妙之处。
  • 和用户不必提技术:苹果没有把最初的iPod描述成5GB内存、185克重的音乐播放器,它只是简单地告诉人们:“你的口袋里可以装下1000首歌。”这才是人类的沟通方式,也是苹果的沟通方式。
无需计算机的计算机科学

点此查看原文

这本书主要是通过一些有趣的活动来告诉你一些计算机科学方面的知识,主要针对较小年龄段的同学,现在这本书被翻译为阿拉伯文、法文、德文、日文、韩文、繁体中文等多个语言版本。 很遗憾,没有简体中文.

我们可以简单的看一看它的目录

img

举个例子讲,计算机的第一步就是了解二进制,在大学中让学生很快的接受二进制也是很难的,那么我们怎么通过活动学习二进制呢?

首先你需要准备下面这几张卡片

img

然后就可以配合这些卡片来进行二进制数字的学习了,当我看到下面的方式的时候,我真是惊叹,原来二进制还可以这样教!

img
《分布式系统模式》中文版

点此查看原文

这是在github开源的一本书。

《分布式系统模式》(Patterns of Distributed Systems)Unmesh Joshi 编写的一系列关于分布式系统实现的文章。这个系列的文章采用模式的格式,介绍了像 Kafka、Zookeeper 这种分布式系统在实现过程采用的通用模式,是学习分布式系统实现的基础。

Go语言设计与实现

副标题——《以前所未有的方式轻松读懂Go源码》

Go语言源码分析的资料不少,但是这本书可能是目前最全面的,而且还有大量的精美图片讲解。

基于Go1.15。

网站推荐

learnGitBranching

点此查看原文

直接打开可能反应会有点慢,如果有想研究源码的同学也可以前往下载

多少人学习Git是一个痛苦,也不理解其中的过程,看到一个个的命令总觉得抽象,用下面的这个网站,可以所见即所得的练习你的Git使用,非常的方便。

image-20211203210027368

Refactoring Guru

点此查看原文

这个网站可以让你图文并茂的学习设计模式,不得不说,感觉it这个领域,大家都学的费尽,外国人就总能来点不一样的东西可以帮助你学习,人还是要见多识广,面对问题才有足够的解决方案。

这个网站建立的初衷是帮助开发者以更为简单便捷的方式,迅速掌握各个设计模式的学习。

Refactoring Guru 上面共拥有 22 种设计模式及 8 条原则的详细讲解:

image-20211203210556825

每个设计模式都有一篇图文并茂的文章和对应的代码示例:

image-20211203210648982 img

代码示例目前支持以下八种不同的编程语言:

image-20211203210744008

OKR.com

点此查看原文

OKR是一致绩效目标管理方法,很多互联网公司都采用这种方法,该网站收集了很多关于OKR的各种资料,便于学习和了解OKR。

image-20211206220239661

Archive.org Serendipity

点此查看原文

“互联网档案馆”收集了很多早期的黑胶唱片音乐作品,都已经过了版权保护期。这个网站可以收听这些音乐,按一下按钮,就会随机播放一段音乐。

我听了一下,很棒。

regexlearn

Github的一个正则表达式验证项目

在线体验:https://regexlearn.com/

GitHub:https://github.com/aykutkardas/regexlearn.com

项目会基于问答的形式,通过可交互界面,在互动和实践中理解正则表达式。

不过,正则表达式使用的机会很少,在这上面投入时间可能性价比并不是太高,即便是学会了,三个月后再用到正则表达式,还是要在百度上搜索。

AnimeGANv2 动漫头像生成器效果

点此查看原文

image-20211212155632033

可以很方便的把照片转为动漫形象

开源项目

由前微信技术专家打造的,基于Go实现的即时通讯(IM)项目

点此查看原文

从服务端到客户端 SDK 开源即时通讯 (IM) 整体解决方案,可以轻松替代第三方 IM 云服务,打造具备聊天、社交功能的 App。

新一代主机管理工具

点此查看原文

支持 Shell 管理,支持远程桌面管理。

这个感觉也还可以,平常都是使用XShell来远程连接,感觉有些地方不太方便,再观望观望,之后可能会使用这个工具试试。

zinc

点此查看原文

全文搜索引擎,可作为 elasticsearch 的替代品。

PaddleGAN

点此查看原文

图片

它的作用如上图,从 100x133pix→400x532pix,除此之外也可以改变视频的画质。

Tabby

点此查看原文

Windows一般使用Xshell来连接终端,如果要传输文件给服务器,还要再下载一个XFtp。

它有两个问题:

  • 收费,不能用于商业用途,如果在公司用,公司就需要掏钱,不过如果不是大公司,也不会有人查你用盗版的问题。
  • macOS不支持Xshell

功能:

  • 支持多平台,Windows、MacOS(Intel 芯片/M1 芯片)、Linux 都有对应的安装包的;
  • 自带 SFTP 功能,能够与 Linux 系统传输文件;
  • 炫酷的终端页面,简单易用,以及各种插件支持等

需要的话可以去原文索取。

图片

本周主题——如何带计算机小白走过第一年?(管理)

在我们学校中会有一些课外兴趣小组,而我所处的组织,我们都称它为三月,因为它是三月诞生的。

这个组织里,每年都需要招新,新生来了都会经历强化班的这么一个阶段,这个阶段一年的时间就会结束,那么在这个阶段,三月的管理上发生了什么事情?如何做得更好?

组织架构参考:

image-20211206213234277

接下来我会从班主任、组长、搭档、组员的角度给你说说我的感受和经验。

如何做一个班主任(领导者)

正所谓不在其位不谋其政,到一个位置,最首先要思考的,就是自己的定位问题。 曾经的时候,我做事情就看不清自己的定位,所以总是会出现一些问题,在如今看来,都是定位问题。不知道什么是该做的,什么是不该做的,都是靠自己的直觉去做事情——稀里糊涂。

所以我们应该要先思考一下自己的定位问题。

班主任的定位:

班主任在整个班的架构中属于领导者,需要去思考整个班的导向问题,去思考整个班更宏观的问题,例如大家的学习路线,大家的文化建设,接下来往哪个方向使劲儿,就像古代的元帅,可以不出中军宝帐而决胜于千里之外。

当然,这对人的要求也更高。

班主任为整个班而服务,需要想办法去协调每个组内部的状态,也要想办法协调组与组之间的状态,对整个班进行宏观调控。

一般流程:

  1. 张三和李四被老师叫到办公室,说交给你们一个任务,接下来的时间里,你们两个就担任这个强化班的班主任。(一个班大概20人,你至少需要带他们走过第一年。)
  2. 张三和李四紧接着就要开会,讨论怎么把大家引导好,怎么个引导的方案和规划。
    • 先说一下彼此的分工,彼此的性格,彼此如何合作,具体要负责哪一块,如果讨论遇到分歧怎么办?
    • 大家的纪律怎么办?咱们怎么抓?以什么方式抓?是松一点,还是紧一点?需要成立纪检部吗?惩罚制度如何制定?
    • 卫生需要成立卫生部吗?关于大家的卫生摆在什么位置?矿泉水的购置安排给谁比较好?
    • 大家的学习路线是什么?是否合理?会出现哪些问题?需要反复梳理整个学习路线的问题,需要对强化班整个一年的学习路线了若指掌。 比如某个阶段可能会比较难,或者难以理解,是否要开一个分享会?
    • 是否需要打字比赛?(一般来讲新生来了,都会有打字比赛,目的是激励新生练习打字,学会盲打,锻炼计算机基本素养,打字比赛的方案在寒暑假篇。)
    • 需要给大家开周会吗?需要给组长开周会吗?开周会要说什么?
    • 多久和老师沟通一次?一周?还是两周?
    • 形成管理日志,起码在前期要形成管理日志,可以帮助你梳理整个架构,否则你可能顾不过来,具体的可以看看我之前的管理日志
  3. 接下来就要给各组组长开会,给大家说说一些刚才讨论的事情,以及接下来要做的事情,如果有一些制度拿不定,要和组长去沟通交流,最终把制度定下来。
  4. 每周找个时间需要发一个反馈收集表来收集大家的真实感受,看看大家是否有什么问题,对哪些制度难以忍受。
  5. 最好平时要去找一些人聊聊,因为反馈收集表的收集是不准确的,兼听则明,他们在反馈表上说的往往都是好话。
  6. 关注每一个人的动态,遇到问题,及时引导,比如某位同学学的很慢,在学生会中有很多的事情,已经有点自暴自弃。 比如某位同学经常在工位上打游戏,看视频。比如某位同学的状态不好等。
  7. 万事开头难,之后进行常规性维护就可以了,能做到上面的内容,你就已经是很好的班主任了,如果你还想折腾一些,你可以做的更细致一些,也可以推出一些活动,把大家的凝聚力再提升一下,那你就是非常棒的班主任。
各个部室的职能

一个班里,常常会有一些独立的部室,但是这个也都看班主任自己,我就把我所经历的各个部室列一下,您可以有一个参考和选择。

财务部:

顾名思义,需要管理本班的财务支出与收入,主要为水费,购买物品报销,迟到收费,或者简书不合格收费等。

问题:

  • 可能会遇到收不上来钱的问题。

卫生部:

管理卫生,当时疫情的时候,还要管理通风时间,安排值日生,以及本班里哪个电器坏了需要修等问题。

问题:

  • 大家对卫生的态度漠视,不积极,行为有懒惰倾向。

会务部:

来管理会议室的预约,或者要开什么会议的时候,需要让会务部做一个通知,或者谁想要开分享会,说说自己的感受和学到的内容也可以报给会务部,让会务部来安排。

另外本班的一些设备(话筒,音箱等),也是会务部所负责存放整理。

文宣部:

负责写一些文章,制作一些宣传类的内容,PS,剪视频之类的事情也比较擅长。

活动策划部:

负责班内的各种活动组织,比如最近可能大家比较累了,想来一次大活动,或者拔河比赛之类的,需要活动策划部先讨论各种方案,最终呈现出来让大家执行。

问题:

  • 思考不出好的活动,大家都愿意参加的活动。
  • 每一年的活动没有更大的创新性,我的想法是需要转换思维,才可以有更成功的活动出来。

纪检部:

负责整个班的纪律(迟到),以及学习的安排。

问题:

  • 纪检部是规定纪律的地方,会有很多的奖惩——这可能会得罪很多的人。 大家碍于面子,有些时候会视而不见,但是这种视而不见降低了纪检部的公信力,导致纪检部形同虚设。
  • 面对学长,触犯纪律但是无法说出口,或者说出口对方态度漠视。
  • 纪检部惩罚制度的尺度很难拿捏。 是罚钱?还是体罚?罚多少?
  • 纪检部的工作很难做,因为我们没有硬性的惩罚措施——开除或者扣工资。 这导致惩罚措施如果过重,大家怨声载道,如果过轻,大家又不痛不痒,这个分寸之间很难把握。 常常的解决方案是以身作则,但另外一个问题就是纪检部的成员也很难保证自己一定会满足要求,一定是勤勤恳恳的,这就会导致缺口,这个缺口会随着时间的移动越来越大,最终纪检部的制度就形同虚设了。 (破窗理论)

我一般会给各个部室创建一个文件夹,因为班主任常常需要和各个部室开各种会,一天和各个部室开四五个会并不稀奇。

其中会有各个部室的进展,职责明确,出现的问题,班主任都需要把握。

image-20211206202425553

上面是一些我经过的部室,但是您也完全可以因为要解决某个问题而创建某个部室,并不一定是上面的部室,部室只是一群负责一件事的人聚在一起而已,一定要灵活应变。

如何做一个组长(管理者)

组长的定位:

组长是管理者,是面对上面派发的任务,去研究如何更好的把这些任务完成,怎么把它达到极致。 这就是古代中的将军,率兵打仗,攻城掠池。

组长不像组员那样轻松,也不像班主任那么宏观,需要具体落实班主任的策略,还要在策略的基础上制定本组的策略,是直接接触组员的人,也是直接影响组员的人,这个身份非常的重要,一个组成不成功,组长有直接关系。

一般来讲,组长不会是一个,而且每个组长都有自己“带兵打仗”的方法,我也不知道如何去描述他的职能,就把我曾经一次当组长的经历与你讲讲吧,你就择其善者而从之,其不善者而改之:

  1. 作为组长,如果你想让整个团队都富有激情,那么你自身一定要富有激情,这一点是我最深的体会,在你不知道的时候,你身边的人其实一直在看着你,当你作为组长,有所松懈的时候——身边的人都能感受到,鬼知道你的分量在他心里会降低多少,搞不好你再也无法说到他心里了——这真是可悲。
  2. 我第一步会问我自己,我想带成一个什么样的组?——我希望我的组员都是好人,而且还得有格局,有文化。
  3. 和搭档聊我的理念,以及表达我很想把组员带好的激情(激情可以感染),和搭档求同存异
  4. 我拉了一个群,摆在我面前的一个问题就是群名是什么?我直接定了下来——做一个好人。 这个群名符合我的理念,符合我想传达的文化,又很另类,另类意味着能给人留下印象。 然后我在群通知中定下了我们组的文化——做一个有格局,有文化的好人。
  5. 接下来就是开一个会,和所有人沟通这个价值观,确保所有人的思想是同步的,以及解释清楚我为什么要用这个理念,我们讨论了一个下午——他们一定还是不理解文化背后的内容,但是我也一定是第一个会这样告诉他们的人,他们会印象深刻,我不求他们理解,只是埋下一颗种子。
  6. 传达本组制度:
    1. 每天开会?还是两天一开会?
    2. 每周需要开分享会吗?
    3. 我们需要什么日常化的训练吗? ——打字,算法,英语。
  7. 对于组内的理念,你需要用自己的行动让他们知道这句话背后的分量,然后慢慢的这句话在他们的脑袋中就会越来越具象。比如在不断的做事中,言传身教中,把好人格局文化这三个字通过自身传递到身边,慢慢让他们对这三个字的理解加深,用回忆,用经历支撑起来,道理就有了厚度
  8. 思想解决了之后,就要想办法如何服务他们的学习,以及如何进一步育人。 这需要我尽心尽力的了解每一个人,把握他们的心态和状态。
    1. 关于学习的把握,我就用到了一个词——方向性,你需要时时刻刻的注意——他们是否知道自己要干什么,是否知道自己接下来一段时间要干什么。
    2. 关于思想,想办法创造一些事情来让大家解决,比如会议的轮流主持,会议记录,举办一些活动等,创造一些事情,让大家自己去解决。
  9. 之后就不断的坚持上面的内容吧,并且不断的创新和思考,让自己一直富有激情,你身边的人会被你影响的。

如何做一个搭档(辅助管理者)

搭档的定位:

搭档的作用,协助组长管理整个组,提出、发现、讨论、解决问题。为什么要分出一个辅助和主要的区分呢? 就是因为一个团队需要有一个能够决策的人,如果大家都是组长,那么公说公有理婆说婆有理,最终团队将死在复杂的内耗之中。

拿三国来讲,曹操手下一百多谋士,这些谋士各个绝顶聪明,但是他们只是提供计策,给曹操说:“我有一个计策,XXX,这样可以消灭敌军。”,当然,会有很多的谋士产生出很多的计策。

在众多的计策之中,曹操需要权衡利弊,分析其中的各个角度,最终拿一个决断,做的是决策——即我们到底要用哪个计策。

不管这个决策最终的结果如何,基于对此人的信任,和我们的位置,我们应该无条件的去执行。

一般流程:

  1. 尽管你有天大的谋略,你很聪明,你也是辅助的身份,你可以提供你的建议和想法,以及发现组内出现的问题,看看大家的状态是不是在掌控范围之内,然后收集这些信息给组长,和组长讨论具体应该怎么办。
  2. 切忌不要在和组员开会的时候和组长有分歧,组长的思想就是整个组的方向,有问题下面慢慢讨论,不能抢了组长的职能,分寸就过了。

如何当一个小兵、组员(执行者)

成员的定位:

首先需要完成分内的事情,然后不断磨练自己的思维,帮助上面的人解忧。

一般流程:

  1. 做好自己分内的事情,把上面安排的事情做好。这是一个小兵,融入一个团队最基本的事情。
  2. 件件有着落,事事有回音,多去和组长反馈你做的事情,或者上面安排下来的事情,很多时候,组长给你的事情,可能并不期待你完成的多么优秀,他们的思想是——不求无功,但求无过。这会让上面的人认为你是一个靠谱的人,而靠谱是做事成功的基本元素。
  3. 成为一个靠谱的人之后,还要在原来的基础上多想一步,比如上面让你买一个东西,但是你没找到那个东西,同时当你知道上面为什么要让你买这个东西时,此时你就可以想想有没有替代品,然后给上面反馈的时候就说,这个东西我没找到,但是我看到了XXX。 这样你就相当于比之前多想了一步。
  4. 再然后,就可以学着站在上层的位置想问题,时常问自己这样一个问题——“如果我是组长/班主任/三月领导者,我要怎么做这件事,我会考虑什么问题?我有什么问题是没有解决的?但是上面并没有发现或者并没有解决?”,然后把你的方案告诉上面的人。
  5. 成为一个有思想,有主见的人。例如当你开了一场无聊的组内会议时,需要把自己的感受同步给组长,如果你进行了深入的思考,并有自己的方案——那就更好了。 例如你们在开一个会议,但是大家的表现闷闷不乐,你可以充当一个活跃气氛的角色,和大家聊聊天,引导引导。 另外组长也不一定都是对的,面对不解的地方,要和上面的人进行有效的沟通,如果你的组长是一个优秀的人,他会很乐意与你讨论很多内容,并且当真的自己做错时——也能勇敢承担错误。 组长和组员是在相互驯化,总之,推动事情的发展,让上面的事情好做。

谁会讨厌一个不仅能够完成本职工作,而且热爱自己的团队,有主见,积极向上的人呢?

有意思的问题

  1. 为什么要有搭档?

    • 因为一个人的精力和思维都很有限,如果你很强,能hold住也就罢了,很多的人是无法做到一个人就能想到方方面面的各种事情,常常是需要几个人一块去探索和讨论,出了问题大家也能一块扛着。
    • 每个人有每个人的特点,是无可替代的,有的人可以很好的负责学习,但是他烘托氛围的能力不太好,就需要有一个搭档来烘托氛围。
    • 不是所有的搭档是来协助你的,有可能是因为他还达不到做组长的能力,需要通过搭档来过渡一下,了解“如何当一个组长”。
  2. 时间管理问题,你的时间会非常的碎片化。

    • 这是很正常的,谁都知道在专注的环境中可以很好的学习,但是学习在碎片化的时间中生存是必要的技能,这个时候就是在锻炼你的这个能力,需要自己慢慢摸索,把效率提高上来,如果感觉自己确实这块比较严重,可以和上层沟通。
  3. 一般第一年都是开学后一个月招的,此时大家在大一会有红歌比赛,班会,学校的各种活动,你会很忙,此时你不禁有一个大大的疑问:小组和学校我该如何平衡?我有几个建议,仅供参考:

    • 学校并不是每一节课都是有价值的,对于没有价值的课,大家往往就荒废掉了——看视频或玩游戏。 但是我却常常会带着笔记本电脑,在课上完成我的任务——这种课还不少。
    • 如果你真的很忙,仅剩的一些时间也想犒劳一下自己打把游戏,没有时间赶小组的学习任务的话,我觉得倒也无妨,人之常情,毕竟不是谁都是拼命三郎。只是此时别人都在往前赶,如果你落下了,希望你要在内心里告诉自己——我现在落后是正常的。 不要自暴自弃。
    • 认真,仔细的想一想,你在课上学习的内容真的很多吗?尝试着自学一下,看看自己能不能更快的达到老师要求的程度? 比如一门课,老师本来要教50个学时,但是我估摸一看,这课我25节就能学会,于是我就会自学把它搞定,然后在课上做我自己的事情。
  4. 我搭档的能力,或者团队成员的能力不如我,感觉和他们协作很浪费时间。

    • 例1:在我第一次进入团队的时候,我也这样思考,一个团队4个人,做一个项目还不如我一个人做的快,这让我很痛苦。
    • 例2:后来当我在管理者角色的身份上时——突然有一个比较重要的事情,需要人去做,于是交给下面的人,发现折腾来折腾去,花费了一下午的时间才搞好,但我自己做的话只需要半小时。 我觉得还不如我自己做了呢。
    • 我的看法:管理中常有一句话:“从依靠自己做事情,到依靠他人做事情。”,在这个道理的实践中,上面两个例子都是我们会经历的过程。
    • 我们需要知道什么?——每个人的顿悟时期是不一样的。 当你作为管理者,要让下属做一件事情,他做的不好,你只需要说出你的建议,让他再去修改,不需要自己动手。 也许他修改之后还是不可以,你再提出自己的建议,让他再改,这样来来回回,看似是浪费时间的行为。 但其实管理者在投资,他对这名员工时间的投入,都会化作员工的宝贵经验,成长经历,可以让员工慢慢的成熟起来。如果你是管理者,面对不成熟的下属,请你也相信:每个人都有自己的早晨,到时候就会醒来。
    • 这是一个选择——你是要一个快速成熟,未来和你并肩作战的战友,还是要一个听天由命,磕磕绊绊,只会一次又一次让你亲力亲为的手下?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IT大学生成长周报 的相关文章

  • golang从sdin扫描一行数字

    我正在尝试从标准输入读取输入 3 2 1
  • 如何使用 mongo-go-driver 有效地将 bson 转换为 json?

    我想将 bson 转换为mongo go 驱动程序 https github com mongodb mongo go driver有效地转换为 json 我应该小心处理NaN 因为json Marshal失败如果NaN存在于数据中 例如
  • Google Cloud Kubernetes 上任务队列的替代方案

    我发现任务队列主要用于App Engine标准环境 我正在将现有服务从 App Engine 迁移到 Kubernetes 任务队列的一个好的替代方案是什么 推送队列是当前正在使用的队列 我在线阅读文档并浏览了此链接 何时使用 PubSub
  • 无需时间即可生成随机字符串?

    我知道如何使用 Runes 和播种 rand Init 在 go 中生成随机字符串time UnixNano 我的问题是 是否可以 使用 stdlib 在不使用当前时间戳 安全 的情况下播种 rand 此外 我问 因为仅仅依靠时间来为敏感操
  • 在 Go 中使用互斥锁

    我想了解互斥体是如何工作的 据我目前的理解 它是为了进行原子操作并同步对某些数据的访问 我在这里构建了一个队列数据结构的示例 https github com arnauddri algorithms blob master data st
  • 我想在后端验证来自 golang 前端的时区

    前端在注册期间发送时区以及其他用户详细信息 我需要在时区上放置一个验证器来进行 api 测试 时区数据的格式为 GMT 10 00 Hawaii GMT 08 00 Pacific Time US amp Canada 我所做的是定义数组中
  • 为什么结构中“[0]byte”的位置很重要?

    0 byte在golang中不应该占用任何内存空间 但这两个结构体的大小不同 type bar2 struct A int 0 byte type bar3 struct 0 byte A int 那么为什么这个位置 0 byte这里重要吗
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • 如何在 Go 应用程序中处理打开/关闭数据库连接?

    我的 Web API 应用程序中有一组函数 他们对 Postgres 数据库中的数据执行一些操作 func CreateUser db err sql Open postgres user postgres password passwor
  • GAE Go — 如何对不存在的实体键使用 GetMulti?

    我发现自己需要做一个GetMulti使用键数组进行操作 其中某些实体存在 但有些实体不存在 我当前的代码 如下 返回错误 datastore no such entity err datastore GetMulti c keys info
  • for 循环初始值设定项中的结构

    知道为什么 for 循环初始值设定项中的这个结构表达式在编译时会出现语法错误吗 在这种情况下 指向结构的指针工作正常 但 ofc 我需要如下所示的局部变量 感谢您的建议 type Request struct id int line byt
  • 如何在 Go 中解组具有多个项目的简单 xml?

    我想从以下 xml 中获取人物 People 的一部分
  • 展平嵌套结构会导致切片的切片

    所以我有一个像这样的结构 type Bus struct Number string Name string DirectStations Station Station is another struct ReverseStations
  • 如何在特定文件夹中运行 shell 命令

    我可以用这个out err exec Command git log Output 获取将在与可执行位置相同的路径中运行的命令的输出 如何指定要在哪个文件夹中运行命令 exec Command https golang org pkg os
  • Golang GAE - 小胡子结构中的 intID

    这是一个Example https www dropbox com sh ur2ws1jnik6euef PjVJSwDTUc Blog Golang zip该应用程序的 关键代码在 golang code handler handler
  • go中有memset的类似物吗?

    在 C 中 我可以使用某些值初始化数组memset https msdn microsoft com en us library aa246471 28v vs 60 29 aspx const int MAX 1000000 int is
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 如何将 Unicode 字符转换为简单形式? [复制]

    这个问题在这里已经有答案了 有没有一个Go库可以Sj str m作为输入和返回Sjostrom作为输出 您可以使用golang org x text unicode norm来处理这个问题 package main import fmt i
  • 有队列实现吗?

    任何人都可以建议使用 Go 容器来实现简单快速的 FIF 队列 Go 有 3 种不同的容器 heap list and vector 哪一种更适合实现队列 事实上 如果您想要的是一个基本且易于使用的 fifo 队列 slice 可以满足您所
  • 如何仅在测试时允许一个包访问另一个包的未导出数据?

    In Go 编程语言 第 11 2 4 节 有一个外部测试访问的示例fmt isSpace 通过声明IsSpace in fmt s export test go文件 这似乎是完美的解决方案 所以这就是我所做的 a a go package

随机推荐

  • Java中的如何检测字符串是否相等

    文章目录 0 写在前面 1 介绍 2 举例 3 写在后面 0 写在前面 实际业务中有时候得检测字符串是否相等的场景 例如在数据库中提取uuid 检测两个uuid是否相等就需要用到这个地方 1 介绍 可以使用equals方法检测两个字符串是否
  • 数据预处理、特征工程和特征学习

    神经网络的数据预处理 数据预处理的目的是使原始数据更适于用神经网络处理 包括向量化 标准化 处理缺失值和特征提取 1 向量化 神经网络的所有输入和目标都必须是浮点数张量 特定情况下为整数张量 无论处理什么数据 都必须先将其转换为张量 这一步
  • Spring getBean方法源码解析

    User user User beanFactory getBean user 注 User为一普通bean 查看方法 AbstractBeanFactory getBean public Object getBean String nam
  • 朴素贝叶斯 Naive Bayes

    Naive Bayes 特点 朴素贝叶斯是典型的生成学习方法 朴素贝叶斯的基本假设是条件独立性 强假设 若条件之间存在概率依存关系 模型变为贝叶斯网络 基于上一条的假设 朴素贝叶斯方法高效 但分类性能受损 将输入的 x 分类到后验概率最大的
  • 五号黯区靶场 mysql 注入之limit注入记录

    前言 感谢五号黯区团队 limit 功能 通常在分页处 比如page 字段 可能存在 limit注入 不存在order by http bug cc 86 limit limit php p 1 访问靶场如下图 原数据库语句如下 selec
  • python数组做参数_python函数传递数组参数吗

    函数是任何一门编程语言都不可缺少的 而且也是非常重要的一部分 Python中函数的参数 可以分为以下几类 位置参数 有时也称必备参数 指的是必须按照正确的顺序将实际参数传到函数中 换句话说 调用函数时传入实际参数的数量和位置都 必须和定义函
  • vue 项目使用通过经纬度显示地图

    传入经纬度 和缩放值
  • 最新的一篇视觉Transformer综述!

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 作者 闪闪红星闪闪 已授权转载 源 知乎 https zhuanlan zhihu com p 433048484 CVer公众号已汇集三篇视觉Transformer
  • Tizen手机系统新“鲶鱼”

    转自 http mobile 51cto com comment 380564 htm 手机操作系统很有可能在2013年上演 巅峰之战 Tizen等基于HTML5技术的新产品 将成为搅动市场的鲶鱼 AD 2013云计算架构师峰会课程资料下载
  • 回归分析的假设条件

    数据什么样就能扔进回归分析回归分析
  • registry :分支操作值Archive有什么用?

    1 美图 2 背景 想知道registry 分支操作值Archive有什么用 于是点击修改了一下 修改之后看着好像没什么变化 结果发现不能更改了 只能添加新的版本了 但是服务器上改了之后导致 Registry THERE IS NOT VE
  • 数据库基础——10.子查询

    这篇文章来讲一下数据库的子查询 目录 1 需求分析与问题解决 1 1 实际问题 1 2 子查询的基本使用 1 3 子查询的分类 2 单行子查询 2 1 单行比较操作符 2 2 代码示例 2 3 HAVING 中的子查询 2 4 CASE中的
  • Vue详解及综合案例

    一 Vue简介 1 1 简介 Vue 读音 vju 类似于 view 是一套用于构建用户界面的渐进式的js框架 发布于 2014 年 2 月 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 Vue 的核心库只关注视图层 不仅易
  • CH347读取MPU6050传感器数据和显示

    CH347读取MPU6050传感器数据和显示 MPU6050 是一款集成了六轴加速度计和陀螺仪的微电子机械系统 MEMS 传感器 它由 InvenSense 现为 TDK 公司开发 是一种广泛应用于姿态估计 运动追踪和稳定控制等领域的常用传
  • 链表 删除链表中的节点

    LC 删除链表中的节点 请编写一个函数 用于 删除单链表中某个特定节点 在设计函数时需要注意 你无法访问链表的头节点 head 只能直接访问 要被删除的节点 题目数据保证需要删除的节点 不是末尾节点 输入 head 4 5 1 9 node
  • ERROR: Could not find a version that satisfies the requirement xxxxx (from versions: none)解决办法

    报错 ERROR Could not find a version that satisfies the requirement tensorboard 1 14 0 from versions none ERROR No matching
  • css中使用url不提示文件路径/不加载文件名

    情况一 若你输入 时不提示文件名时 检查你的插件 在插件商店里找到上述两款插件并且安装 安装完成后若出现 情况二 提示文件回车却不出现文件扩展名 如图 此时检查vscode中的设置 vscode左下的设置找到 L path autocomp
  • Qt 停靠悬浮窗口 使用实例

    工程中我们常用到悬浮窗口 Qt 实现停靠和悬浮使用类QDockWidget 效果 悬浮窗口 这里主要介绍怎么使用 Part1 使用流程 1 创建QDockWidget对像的停靠窗体 QDockWidget dw new QDockWidge
  • 多元有序logistic回归分析_SPSS:二元Logistic回归中自变量的处理和解读——有序多分类变量的处理...

    SPSS 二元Logistic回归中自变量的处理和解读 有序多分类变量的处理 有序多分类变量是很常见的变量形式 通常在变量中有多个可能会出现的取值 各取值之间还存在等级关系 比如高血压分级 0 正常 1 正常高值 2 1级高血压 3 2级高
  • IT大学生成长周报

    文章目录 IT大学生成长周报 第 1 期 编程语言 插桩 Linux高性能服务器代码学习 关于Mysql锁的一些知识和试验 一道关于array的题目 go spew Mysql为什么这么重要 Go编程模式 详解函数式选项模式 Go 1 18