-
使用
docker-machine
& 使用阿里云加速国内 docker hub 访问速度-
开启终端自动使用
docker-machine
.bash_profile
添加1eval $(docker-machine env default) -
开启启动
docker-machine
1cd ~/Library/LaunchAgents创建
com.docker.machine.default.plist
文件,添加如下内容:123456789101112131415161718192021<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>EnvironmentVariables</key><dict><key>PATH</key><string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string></dict><key>Label</key><string>com.docker.machine.default</string><key>ProgramArguments</key><array><string>/usr/local/bin/docker-machine</string><string>start</string><string>default</string></array><key>RunAtLoad</key><true/></dict></plist>
-
Mac 下使用
docker-machine
,本机无法访问 docker machine 内 docker 容器问题解决1sudo route add 172.17.0.0/16 $(docker-machine ip <default>)via:
Netty用户指南4.x
Netty 用户指南中文版
Based on User guide for 4.x .
序言 Preface
问题 The Problem
如今我们使用通用的应用程序或者库来彼此通讯。比如,我们经常使用 HTTP 客户端库从远程服务器接收信息或者执行远程服务的调用。但无论如何,一个通用的协议或者它们的实现有时候可用性不是太好。这就是为什么有时候我们并不使用通用的 HTTP 协议来交换大数据、电子邮件信息以及金融数据和多人网络游戏数据这种近实时的数据。所需要的是为了一个专门的目的去实现一个高度优化的协议。比如,你可能需为了基于 AJAX 的聊天应用,媒体传输,或者大文件传输去实现一个优化的 HTTP 服务。你甚至可以为了你的需求去精确的定义并实现一个全新的协议。另外一个经常发生的情况是你必须去处理系统中遗留的专门协议去确保与旧系统的交互。这种情况下重要的是,我们如何能够快速的实现该协议,并且不会牺牲应用程序的稳定性和性能。
解决方案 The Solution
Netty 是一个提供了异步事件驱动 (asynchronous event-driven) 网络应用程序框架和工具的杰作,可以用来快速开发可维护的,高性能 · 高可用的服务端和客户端协议。
从另一方面来讲,Netty 是一个可以快速开发网络程序,如客户端和服务端协议的 NIO 客户端/服务端框架。它大大的简化了如 TCP 和 UDP 这类套接字服务的网络应用程序的开发并优化了其开发流程。
“快速简单”并不意味着开发出的应用程序的可维护性变差或者遇到性能问题。 Netty 从大量的如 FTP、SMPT、HTTP 以及各种二进制文本传输协议的实现中获得经验,并精心设计。因此, Netty 成功的获得了可以快速开发,并且不妥协性能、稳定性以及灵活性的方法。
一些用户用户或者发现过其他一些网络应用框架也声称有以上优势,可能会想问 Netty 和它们有何不同。答案是,设计哲学。 Netty 从一开始就设计得为你提供舒适的 API 及实现。这虽非什么可感知的事物,但你会意识到这些设计哲学让你的生活变得更简单,如同你开始阅读这份指南,并且开始轻松使用 Netty 。
为什么要造轮子
当我在 oschina.net 上以 java orm 作为关键词进行搜索的时候,共找到529条结果。那么我为什么还是要写 ur-orm 呢?
- 与DB交互的时候,只想调用一个方法就行了
- 虽然看上去不够高大上,但在代码里写sql感觉就是舒服呀😌
- 与查询的时候返回个对象用起来遍历,当然了,这也是 ORM 框架最起码要实现的
- 轻量级,轻量级,还是轻量级。在大家都在说轻量级的时候,要做到真正但轻量级,换ORM的时候,只会觉得当前的代码不够用,而不是发现当前的一堆配置,代码是多余的,对另一个框架来说。当然了,这有点儿偏激。
- 重要的是,要对味儿。
- 用了好多年的 MyBatis 了,至今还是觉得这是个好的框架,但实在不想在项目开始的时候先来一拖它的配置,不管是 resultMap 还是其它。
- JPA 让 Java 开发有了点儿敏捷的意思了,但有时候封装的太深,用起来让人不知所措。
当然了,这个轮子,说不定哪天也会变得让人又爱又恨。😄
要做的事情
有很多事情要做,把他们列下来
side project
- ur-orm
学习
- vue.js
- netty
- 英语
读书
- 三体
- java虚拟机规范
- 响应式web设计
产出
- git练习代码提交
- 学习笔记
为什么要学前端
作为一个一直在写后段代码的人,有着一颗产品的❤️,想要把自己的idea展示出来可不是看着 terminal 中应用启动成功了就行了的。
时间过的很快,2017年的1/6又没了
Hexo部署笔记
主题选择
- hexo-theme-apollo
- 网上找了个水滴的图标,好看,一点点寓意。
多客户端写文章的问题
hexo d
执行后 hexo 将 hexo g
生成的 public 文件夹下的静态文件部署到目标服务器,其它 hexo 环境相关的内容则还在本机上,这样势必导致之前辛苦装的一系列插件,主题之类的东西没有办法同步到其它机器上,更换电脑是件麻烦事。
暂且想到集中解决方案
- 使用 dropbox,OneDriver 之类的文件同步服务同步源文件
- 另外建一个repo同步源文件
- 网络上还有一种将源文件提交到新分支的做法
看了hexo init
后的 blog_dir ,显然 hexo 已经考虑到这方面的问题,支持将源文件提交到 git 仓库中,因为 .gitignore 已经初始化好了。
作为一个稍微有点儿强迫症的狮子座,决定采用新建分支的方法
|
|
需要注意的是,_config.yml 中 deploy 节点不要暴露敏感信息。
在新的客户端,只需要将代码clone下来,checkout
到相应分支,npm install -g hexo-cli
,npm install
之后 new
, generate
, deploy
即可
关于源码的维护,可以将当前 repo 的 default branch 设置为源码的分支,以方便后续维护。