闫肃的个人博客

闫肃的博客

Latest articles

2018 个人总结

已经有 3 年没有写个人年终总结了,这 3 年正好是我出来读书的时间。读书时发生的事情都是整段整段的,总结起来也比较容易: 入学 USC 的 CS master 去 Amazon 实习 去 Facebook 实习 顺利毕业,带父母游了一圈加州 全职从 Facebook, Amazon, Google 和 Airbnb 中选择了 Airbnb 其实我人生的拐点都发生在过去的 3 年,2018 反而是我站稳脚步以后慢慢成长的一年。因为事情太过琐碎不知从何说起,所以我选择只记录一下较为平稳的这一年。 技术 我很庆幸自己选择了一个不太大的公司,所以身为 Product Engineer 也可以在技术上有所前进。熟悉硅谷 IT 公司的人都应该了解,做产品很难在技术上有深入的学习,因为...

2018 我订阅的服务

软件类 Pinboard $11.00 / year 之前的书签使用浏览器自带,稍后读使用 Instapaper,但是使用过 Pinboard 以后就用 Pinboard 替换掉他们了。Pinboard 这个产品本身很简单,就是收藏,分类和搜索。外加 Spillo 和 Pushpin 的良好支持解决了跨平台问题,基本满足我全部关于书签的需求。但是 Mac 下的 Spillo 最近不能用了(无法同步书签),虽然有很多替代工具,但是已经生成的习惯很难改变,我现在使用 Things 来代替了 Pinboard 并且阅读效率明显提升。 iCloud Storage $0.99 / month Apple 一直在提升 iCloud 的功能和稳定性,同时价格也在不断下降中。现在最低配置已经有...

Docker 使用总结

Docker 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器,本身不能被直接修改。 容器 Container 容器是镜像的实例化,是可以修改的,但是都是临时修改。 容器启动过程 检查本地是否存在指定的镜像,不存在就从公有仓库下载 利用镜像创建并启动一个容器 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 从地址池配置一个 ip 地址给容器 执行用户指定的应用程序 执行完毕后容器被终止 Docker 常用命令 Image 操作 基本操作 显示本地所有镜像 docker images 搜索一个image...

Docker 常用资源

Docker 常用命令 Image 操作 基本操作 显示本地所有镜像 docker images 搜索一个image docker search image_name 下载image docker pull image_name 删除镜像 docker rmi image_name 显示镜像历史 docker history image_name 发布 image docker push new_image_name 制作镜像 docker build -t image_name DockerfilePath 迁移镜像 保存镜像到文件 docker save...

React 学习 - 开发环境搭建

1. 安装 Yarn 包管理可以用 npm 或者 yarn,好多人推荐 yarn,我这里就用这个了 brew update brew install yarn 2. 初始化项目文件夹 首先要做的是创建一个工程目录,然后在目录中执行 yarn 初始化即可 yarn init 3. 安装 Webpack Webpack 可以让整个开发过程及其方便,这里只讲如何使用它来搭建 React 开发环境 安装webpack yarn add webpack webpack-dev-server path 创建 webpack 配置文件 touch webpack.config.js 写入以下内容 const...

1. 安装 Yarn 包管理可以用 npm 或者 yarn,好多人推荐 yarn,我这里就用这个了 brew update brew install yarn 2. 初始化项目文件夹...

1. 安装 Yarn 包管理可以用 npm 或者 yarn,好多人推荐 yarn,我这里就用这个了 brew update brew install yarn 2. 初始化项目文件夹 首先要做的是创建一个工程目录,然后在目录中执行 yarn 初始化即可 yarn init 3. 安装 Webpack Webpack 可以让整个开发过程及其方便,这里只讲如何使用它来搭建 React 开发环境 安装webpack yarn add webpack webpack-dev-server path 创建 webpack 配置文件 touch webpack.config.js 写入以下内容 const...

在 Mac 下用 Docker 安装测试 HHVM

本来在 Mac 下用 Homebrew 安装 HHVM 应该是最容易的,但是最近有一个 bug 导致我在自己电脑上一直安装失败,所以我只好决定用 Docker 来装。 安装 Docker 现在在 Mac 下安装 Docker 非常方便,到 官网 下载一个 dmg 包直接安装就好。 制作 HHVM 镜像 HHVM 官方提供了 Docker image,但是我在直接启动启动时发现官方的 image 竟然没有启动 hh_client ,所以需要自己稍微修改一下。 另外在 build 过程中可能因为网络问题会失败… 因为你懂得的原因。所以直接把这个过程放在国外服务器上执行吧,速度快还不会出问题。 下载 Dockerfile git clone https://github.com/hhvm/hhvm-docker.git...

在 Ubuntu 下部署 Shadowsocks

回国以后先试了部署 L2TP VPN(在 Ubuntu 下部署 L2TP VPN),结果发现 VPN 稳定性还是略差,经常掉线。其实对于一般的浏览网页需求,Shadowsocks 就足够了,所以就有了此文。 服务端 我的环境是 Linode Tokyo + Ubuntu 14.04 这里依然提供一个一键脚本,Shadowsocks Python版一键安装脚本。 想手动配置的往下看。 安装 Shadowsocks apt-get update apt-get install python-pip pip install shadowsocks 配置 Shadowsocks 下面的password那儿自己修改一下 MYIP=`/sbin/ifconfig...

在 Ubuntu 下部署 L2TP VPN

回国之后为了正常上网,还是得部署一个 VPN 自用。之前写过在ubuntu下搭建pptp vpn服务器,本来准备直接拿来用的,结果发现 MacOS Sierra 竟然不支持 PPTP 了 T_T 只好重新选择一个方式,这篇主要讲如何部署 L2TP VPN 在 Ubuntu 下,以及如何通过 Mac 连接上去。 服务端 我的环境是 Linode Tokyo + Ubuntu 14.04 如果不像自己配置,这里有一键脚本,非常方便。setup-simple-ipsec-l2tp-vpn. wget https://raw.github.com/philpl/setup-simple-ipsec-l2tp-vpn/master/setup.sh sudo sh setup.sh...

Airbnb Boggle Game

题目来源: http://www.1point3acres.com/bbs/thread-204884-1-1.html 描述 boggle game,给一个board和字典,找出board上出现最多的单词集合,单词不能重叠在同一个位置 例如 board: {'a', 'b', 'c'}, {'d', 'e', 'f'}, {'g', 'h', 'i'} dict: ["abc", "cfi", "beh", "defi", "gh"] 答案应该是 ["abc", "defi", "gh"] 分析 这个题和 Leetcode 的 Word Search II 有点像,唯一区别是这个题里面 board 上的单词不可以重复利用。刚开始我觉得可以...

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!