善意的疏忽当我二十几岁时, 我遇到了我的第一个需要精神疗法的病人。
当时我在伯克利大学读临床心理学的 Ph.D。 她是一位叫 Alex 的 26 岁女性。
第一次会面时 Alex 穿了牛仔裤以及略微不修边幅的上衣, 进来后直接坐到我办公室中的沙发上, 踢掉她的鞋子, 然后跟我说她是来跟我讲情感问题的。
当我听到这个时,我松了一口气。
因为我的一个同学的第一个病人是一个纵火犯,和他相比,我幸运多了。
所以说,当有一个二十几岁的人想跟我谈谈男生,聊聊情感的时候,我以为我能处理好这事。
但我没能办到。 Alex 会在每一次会面时都会带来好笑的故事, 因此对我而言只需要不断的点点头,她就会说出事情的结果,这是对我来说实在是一件非常轻松的事情。
Alex 说 “三十岁就是新的二十岁”, 而且据我所知,她是对的。
工作要以后才有,结婚以后才有,孩子以后才有,连死亡都是以后才有。
像 Alex 和我一样同样二十几岁的人除了时间之外一无所有。
但没过多久,我的督导催促我,希望我可以推动一下 Alex 的爱情生活,但是我退缩了。
我说:“她现在正在约会, 她和一个笨蛋一起生活, 但是她不打算嫁给那个男人 ...
生活见闻
未读
众所周知,即使对于律师来说,法律文件也很难理解。这就提出了一个问题:为什么这些文档的编写风格如此难以理解?
麻省理工学院的认知科学家相信他们已经找到了这个问题的答案。他们总结道,正如“魔法咒语”使用特殊的韵律和古老的术语来表明其力量一样,法律术语的复杂语言也传达了一种权威感。
在《美国国家科学院院刊》上发表的一项研究中,研究人员发现,即使非律师在被要求撰写法律时也会使用这种类型的语言。
麻省理工学院脑与认知科学教授、该研究的资深作者爱德华·吉布森(Edward Gibson)说:“人们似乎明白,有一条隐含的规则,那就是法律应该如何发音,并且他们也是这样写的。
埃里克·马丁内斯博士是该研究的主要作者。墨尔本大学讲师弗朗西斯·莫利卡(Francis Mollica)也是该论文的作者之一。
施展法律咒语自 2020 年马丁内斯从哈佛法学院获得法律学位后来到麻省理工学院以来,吉布森的研究小组一直在研究法律术语的独特特征。在 2022 年的一项研究中,吉布森、马丁内斯和莫利卡分析了总计约 350 万字的法律合同,并将其与其他类型的写作进行比较,包括电影剧本、报纸文章和学术论文。
该分析表明, ...
背景我们在 GitHub 上参与到某个开源项目的时候,通常有以下开发步骤。
fork 一份原仓库到我们自己的仓库中,
在自己的仓库中切新的分支进行开发,开发完成之后,再推送到自己的仓库
在原仓库进行Pull Request,等待审核人审核代码通过后,我们的分支就被合并到原仓库中
这是一个典型的 Github 开发流程
而在这个过程中,原仓库的代码经常会变动,而 GitHub 不会帮我们自动同步原仓库的代码,我们不确保自己修改的代码是否是最新的。因此我们就面临这样的一个问题:“Github 进行 fork 后的仓库,如何与原仓库同步?”
解决方法方法一:删掉自己名下 fork 的仓库,再 fork 一次(最暴力也是最快的)
第一步,进去自己的仓库,切换到Settings页签
第二步,页面滑到最下面,点击 Delete this repository,进行二次确认即可删除
第三步,再次去 fork 一次原仓库
方法二:设置上游代码库,拉取 GitHub 仓库最新代码后,在 Merge 或 Pull 到本地
第一步,查看当前的上游代码库
$ git remote -v # 查看当前的 ...
服务器端渲染 (SSR) 已经存在了一段时间,但值得进一步探索。这种技术可以使您的网络应用程序更快、更适合 SEO。在本指南中,我们将解释 SSR、为什么您可能想要使用它,以及如何在不费吹灰之力的情况下实现它。我们将介绍基础知识,将其与客户端渲染进行比较,并讨论一些实际示例。
什么是服务器端渲染?从根本上来说,SSR 是在服务器上而不是在浏览器中渲染网页。当用户请求页面时,服务器会完成所有繁重的工作并将完全呈现的页面发送到客户端。然后,客户端 JavaScript 接管使其具有交互性。
服务器在厨房里做准备工作,浏览器只需要装盘和上菜。
这是一个最小的 Express.js 示例:
const express = require('express')const React = require('react')const ReactDOMServer = require('react-dom/server')const App = require('./App')const app = express( ...
生活见闻
未读近些年彩票销售业绩是逐年上涨,聊一聊彩票吧。
你还在等着中彩票么?可能大多数人都有着这样的期待,有朝一日,彩票中个五百万。为此梦想,甚至还养成了定投彩票的习惯。然而,除了偶尔在电视上看到某某彩民中大奖的新闻外,连身边认识的人都鲜有中奖的消息。那么我们到底是否能中奖呢?
下面以双色球为例,抛除彩票本身是否有暗箱操作的可能,仅以真实的数据概率分布来看。
双色球的玩法及设奖方式如下:
「双色球」彩票投注区分为红色球号码区和蓝色球号码区。每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1 ~ 33 中选择(不能重复); 蓝色球号码从 1 ~ 16 中选择。「双色球」彩票以投注者所选单注投注号码(复式投注按所覆盖的单注计)与当期开出中奖号码相符的球色和个数确定中奖等级。「双色球」设奖奖金为销售总额的 **50%**。奖级设置分为高等奖和低等奖。一等奖和二等奖为高等奖,三至六等奖为低等奖。高等奖采用浮动设奖,低等奖采用固定设奖。当期奖金减去当期低等奖奖金为当期高等奖奖金。
按照上述设奖方式可以得到彩票的中奖概率如下:
从上表可以看出,高等奖(一般为 20w 及以上)仅 ...
Part 1 - Local Repo Config
先 Fork 感兴趣项目,即 SwifterSwift/SwifterSwift
Clone 到本地,git clone git@github.com:SwifterSwift/SwifterSwift.git
添加源项目 SwifterSwift/SwifterSwift 作为 upstream 源,https://github.com/SwifterSwift/SwifterSwift.git
禁止直接向 upstream 源 push,因为我们不是 SwifterSwift 的人,没有 push 的权限,要提交代码必须通过 Pull Request,git remote set-url --push upstream no_push
创建并切换到本地的新分支 bugfix,git checkout -b bugfix
本地分支 master 的作用是与远程 upstream 的最新代码同步
本地分支 bugfix 则是我们修改代码的战场
Part 2 - Fix Bug
fix bug
在当前 bugfix 分支提交本地 ...
我们知道如果是一般的压缩文件,可以用系统自带的或者很好用的压缩工具 Keka 来解压,但如果要解压的压缩文件设置了密码,这个时候怎么做呢?
1. 下载 Homebrew你可以直接去 Homebrew 官网 下载,如何下载 Homebrew 的教程,网上有很多这里不赘述。
2. 安装 fcrackzip我们要用的是一个名为 fcrackzip 的压缩工具,打开终端,在命令行中输入
brew install fcrackzip
然后按下回车后即可安装。
3. 关于 fcrackzip 的参数在终端输入 fcrackzip -h 命令可以查看关于压缩时的详细参数,如下图所示
参数后面都有详细的说明,不再说明,下面直接说下如何使用,请看第四步。
4. 如何使用 fcrackzip 解压带密码的压缩文件直接在终端输入一行代码就行
fcrackzip -b -c 'aA1' -l 1-10 -u
然后在后面跟上你要解压文件的绝对路径(直接把你的文件拖动到终端即可),如下图所示
5. 建议建议把你的文件名改为纯英文字母,比如 aaa 等,因为有的粉丝的文件名包括但不 ...
1. 创建仓库命令
git init: 初始化仓库就是在当前目录下创建一个.git 目录,用于存储 Git 所需的元数据和文件版本记录。该目录包含了 objects、refs/head、refs/tags 和模板文件等基本部分。
git clone [url]: 拷贝一份远程仓库,也就是下载一个项目和它的整个代码历史。
2. 配置
git config --list: 显示当前的 Git 配置
git config -e [--global]: 编辑 Git 配置文件
git config [--global] user.name "[name]" / git config [--global] user.email "[email address]": 设置提交代码时的用户信息
3. 增加/删除文件
git add [file1] [file2] ...: 添加指定文件到暂存区
git add [dir]: 添加指定目录到暂存区,包括子目录
git add .: 添加当前目录的所有文件到暂存区
...
永远不要过早优化,要做到因地制宜,见招拆招。
Vue 应用运行时性能优化措施1. 使用 key对于通过循环生成了列表,应该给每个列表项一个稳定且唯一的 key,这有利于在列表变动时,尽量少的删除、新增、改动元素。
2. 使用冻结对象冻结的对象不会被响应化。有的时候没有必要将数据变成响应式的数据,因为在数据的响应化的过程中需要递归遍历数据,需要耗时。
Object.freeze(this.data)
如果不希望数据被 Observer,其实可以在 created 的生命周期中把数据挂在到 this 上,并不一定都在 data、props 或者是 computed 中定义。另外,这部分数据也是可以被修改的,只是他们的变化不会触发组件重新渲染,因为我们也并不希望,这样比用 Object.freeze 更加灵活。
3. 使用函数式组件参见 函数式组件
使用函数式组件,在 js 执行时间以及渲染时间上稍有减少,但是差别不大,同时在内存占用(消耗)方面会比普通组件占用少,这是因为使用函数式组件不会在 vue 的组件树中生成该组件,不会为函数组件创建实例,只是纯渲染。对于普通组件,vue ...
前言
iTerm2 是默认终端的替代品,也是目前 Mac 系统下最好用的终端工具,集颜值和效率于一身。
最近换了一台新的 MacBook Pro ,需要重装电脑上的常用软件。为了将 ITerm2 DIY 为自己喜欢的样子,花了不少时间。为了方便下次再配置,特地写下此文进行记录。
iTerm2 的下载链接:iTerm2
iTerm2 的配置1. 查看系统所有的 shell 列表cat /etc/shells
设置默认 shell 为 zsh,它功能比较多,会好使一些。
chsh -s /bin/zsh
2. 安装 oh-my-zshoh-my-zsh 是一款社区驱动的命令行工具,它基于 zsh 命令行,提供了主题配置,插件机制,大大提高了可玩(用)性。它的 Github 地址为:https://github.com/ohmyzsh/ohmyzsh
我们可以使用 curl 安装:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
...