0%

本文摘录翻译自Can You Design A Website For The Five Senses?

为视觉而设计

颜色理论是一种可以用来激发访问者根据其所见所见感觉的工具。但是,这可能会带来问题,因为颜色不仅在整个文化中而且在文化中通常都有多种含义。因此,虽然您可能以为会让访客感到明亮的黄色调更加快乐,但反而可能会使他们感到不知所措和焦虑。

Visit Philly是一个旅游网站,我喜欢用它来寻找城市周边要做的事情,因为网站大多数页面是这样设计的:

Visit Philly网站的主页欢迎人们光临有爱之城。

每个页面都感觉像是身临其境的体验,而不会强迫访问者观看背景视频或滚动浏览照片轮播。 而是,每个全尺寸图像完美地封装了等待每个访问者的设置。

Read more »

本文翻译自Useful tricks you might not know about git log

如果您使用Git一段时间,那么您应该接触过git log。 众所周知,git log是一个简单的命令,可以帮助我们查看变更或项目历史记录。

即使如此简单,它仍然是一个非常强大的工具,它带有许多参数,可以帮助我们查看项目变更及其结构。 我们将在本文中看到一些最常用的参数。

git log —oneline

1
git log --oneline

此命令可帮助您以更简洁的方式查看提交。 它会将每次提交压缩到一行,并且只有很少的信息,例如较短的提交哈希值和提交消息。

Read more »

banner

尽管安装黑苹果有多种方式,但限制条件都比较多,而且如果是个AMD CPU + Nvdia 20xx显卡,那就更悲催了。这里介绍一个方便快捷,并且和硬件无关的解决方案,在Linux系统下,通过Docker一行命令安装运行最新版MacOS。

系统需求

  • 绝大多数Linux系统均可,比如Arch、Manjaro、Ubuntu、Debian、CentOS、RHEL、Fedora
  • BIOS必须开启虚拟化
Read more »

在CentOS7环境下,一步步傻瓜式安装Kubernetes单主节点集群环境,Kubernetes为最新版本v1.8.6。

安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

yum install -y docker-ce docker-ce-cli containerd.io

mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

systemctl enable docker
systemctl daemon-reload
systemctl start docker

安装kubernetes

Read more »

前言

对于习惯使用markdown写作的朋友来说,在一些样式要求不高的情况下,如果能够瞬间转换成PPT,那将是一个非常不错的体验。于是向大家推荐这么一个工具Marp for VS Code

demo

功能

  • 实时预览
  • 支持导出到HTML, PDF, PPTX, 图片(仅支持导出第一页😓)等多种格式
  • 支持自定义主题
  • 支持幻灯片代码折叠
  • 支持嵌入HTML

安装

打开Visual Studio Code,在扩展里输入Marp,查找Marp for VS Code插件,点击安装即可。

Read more »

banner

译自 MySQL 101: Parameters to Tune for MySQL Performance

尽管没有MySQL调优的银弹,但还是有一些方面可以显着提高MySQL的性能。这些年来,尽管已经发布了许多有关此主题的信息,但我想逐一讲述一些最关键的任何人都毋庸置疑都参数设置。

根据您所运行的MySQL版本的不同,本文中使用的某些默认值可能与您的安装版本有所不同,但前提基本相同。

最基本的MySQL性能调优可以分为以下几类:

  • 硬件调优
  • 最佳性能/最佳实践调优
  • 负载调优

硬件调优

根据MySQL的硬件规格,需要根据计算机(或VM)规范设置一些变量。以下变量在很大程度上取决于您的硬件:

innodb_buffer_pool_size

  • 通常,将其设置为总RAM的50%-70%作为起点。
  • 不需要将其设置为大于数据库的总大小。
  • Percona监视和管理(PMM)工具可以提供更多的缓冲池使用情况参考依据,并允许您进行相应的调整。

innodb_log_file_size

  • 通常设置在128M – 2G之间。
  • 应该足够大,最多可以容纳一个小时左右的日志。
    • 数值应保证MySQL可以在flush和checkpoint过程中对写进行重新排序,以使用顺序I/O。
      This is more than enough so that MySQL can reorder writes to use sequential I/O during the flushing and checkpointing processes.
  • PMM可以提供更多的参考依据,比如您使用的日志空间超过50%,您可能会因及时对日志文件大小的增加而受益。

innodb_flush_log_at_trx_commit

  • 设置为“ 1”(5.7中的默认值)可提供最大的持久性。
  • 设置为“ 0”或“ 2”将提供更高的性能,但持久性会更低。

innodb_flush_method

  • 将此设置为O_DIRECT将避免双重缓冲带来的性能损失。
Read more »

由于汉化的 GitLab 社区版 Docker Image twang2218/gitlab-ce-zh 不再维护,无法进行版本升级,而直接使用GitLab的官方Docker,会因locale问题无法成功升级,因此出此版本以便大家顺利完成迁移。

使用

使用 Docker Compose

在原Docker Compose中替换image行即可,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: '2'
services:
gitlab:
image: 'fjcanyue/gitlab-ce-zh:latest'
restart: unless-stopped
hostname: 'gitlab.example.com'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。
# 比如下面的电子邮件的配置:
# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
# gitlab_rails['smtp_port'] = 465
# gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
# gitlab_rails['smtp_password'] = "password"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = true
# gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- config:/etc/gitlab
- data:/var/opt/gitlab
- logs:/var/log/gitlab
volumes:
config:
data:
logs:
Read more »

在启用Pinpoint监控后,发现调用阿里MNS会出这个诡异的问题

Caused by: java.net.SocketTimeoutException
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.timeout(HttpAsyncRequestExecutor.java:351)
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:92)
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:39)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.timeout(AbstractIODispatch.java:177)
at org.apache.http.impl.nio.reactor.BaseIOReactor.sessionTimedOut(BaseIOReactor.java:265)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.timeoutCheck(AbstractIOReactor.java:494)
at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:215)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:282)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)

最后发现是由HttpEntity不可重复导致的,把pinpoint.config的下列配置改为false即可

Read more »

Zookeeper docker image three supported modes:

  • Local (Standalone) Mode
  • Pseudo-Distributed Mode
  • Fully-Distributed Mode

Standalone Mode

Deoply only one zookeeper instance to single matchine.

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '2'
services:
zookeeper1:
container_name: zookeeper1
hostname: zk1
image: fjcanyue/zookeeper
restart: always
expose:
- "2181"
ports:
- "2181:2181"
environment:
ZOOKEEPER_PORT: 2181
Read more »