最新 | 最热门 | 最高评价

+0  把我的个人网站推倒重来(Part 6 - hreflang)

Tag: hreflang | rebuild | website
Cat Chen 发于 2018年11月24日 15:18 | 点击: 471 | 展开摘要
因为我在上一篇文章讲 Open Graph 元数据时提到 hreflang,我可以用这篇文章简单讲一讲如何支持 herflang。使用 hreflang 好处的是让 Google 知道多个页面其实是同一内容的不同语言版本,这样在用户搜索时 Google 就可以尽量提供正确的语言版本。
Google 官方对 hreflang 提供了详尽的解释。要让网站支持 hreflang 有三种做法:HTML 标签、HTTP header 以及 Sitemap。我选择了 HTML 标签,因

查看全文: http://www.udpwork.com/item/17216.html

+0  把我的个人网站推倒重来(Part 5 - Open Graph 元数据)

Tag: metadata | open graph | rebuild | website
Cat Chen 发于 2018年11月18日 11:15 | 点击: 657 | 展开摘要
网站发布之后我开始做各种细小的优化,其中一项是为网站加上 Open Graph 元数据( metadata),使得网站在被 Facebook 抓取时能够显示正确的预览信息。(Google 在抓取时也会参考 Open Graph 元数据,虽然 Open Graph 是 Facebook 提出的标准。)
Open Graph 标准
Open Graph 标准本身并不复杂,看着官方的标准信息把每一项相关的属性都加上。以下是我个人网站上使用的 Open Graph 信息:

&

查看全文: http://www.udpwork.com/item/17203.html

+0  把我的个人网站推倒重来(Part 4 - Responsive Image)

Tag: image | rebuild | responsive | website
Cat Chen 发于 2018年10月08日 11:55 | 点击: 412 | 展开摘要
网站整体完成后,我就可以开始做各种小优化了。其中一个优化是使用 responsive image 来适应不同分辨率和不同像素密度的屏幕,用到的是 <img /> 新增的 srcset 和 sizes 属性以及新增的 <picture /> 元素。因为现在有多套新旧并存的 responsive image 方案,而且它们使用的属性存在重叠,所以要搞清楚到底这些属性如何运作,还是要动手实验。
sizes 属性

<img srcset="

查看全文: http://www.udpwork.com/item/17123.html

+0  把我的个人网站推倒重来(Part 3 - 用 Netlify 做静态网站发布)

Tag: deployment | netlify | rebuild | website
Cat Chen 发于 2018年10月01日 04:42 | 点击: 584 | 展开摘要
之前两篇文章讲述了我用 Harp 和 Bootstrap 搭建新版个人网站的过程,执行 harp compile 进行构建,输出的 www 目录就是我们想要的静态网站。我可以找个传统的静态网站 host,然后通过 FTP 这种古老的方式把文件上传上去。然而这真是我在第一篇文章中说到的一个痛点,我不希望通过 FTP 部署,最好是好像我熟悉的 Heroku 那样通过 GitHub 触发部署,我每次本地更新后执行一下 git push 就行。
Heroku
因为我已经熟悉 He

查看全文: http://www.udpwork.com/item/17102.html

+0  哈希碰撞与生日攻击

Tag: Algorithm
阮一峰 发于 2018年09月05日 20:41 | 点击: 443 | 展开摘要
一、哈希碰撞是什么?

所谓哈希(hash),就是将不同的输入映射成独一无二的、固定长度的值(又称"哈希值")。它是最常见的软件运算之一。

如果不同的输入得到了同一个哈希值,就发生了"哈希碰撞"(collision)。

举例来说,很多网络服务会使用哈希函数,产生一个 token,标识用户的身份和权限。

AFGG2piXh0ht6dmXUxqv4nA1PU120r0yMAQhuc13i8

上面这个字符串就是一个哈希值。如果两个不同的用户,得到了同样的 token,就发生

查看全文: http://www.udpwork.com/item/17077.html

+0  把我的个人网站推倒重来(Part 2 - 用 Bootstrap 做移动网页)

Tag: bootstrap | css | rebuild | website
Cat Chen 发于 2018年09月04日 09:38 | 点击: 540 | 展开摘要
配置好 Harp 做静态网站构建后,就可以开始做网页了。上一个版本的个人网站样式是我自己设计的,当年用的还是 Macromedia/Adobe Fireworks,做出来一个 PNG 文件然后导出为不同的小图片。这次我也有考虑过要不要自己重新设计一个新的样式,但考虑到新设计不如解决其他几大问题重要,于是决定推迟样式设计。现在的计划是,先用 Bootstrap 解决绝大部分的问题,将来有时间重新设计样式了再做成 Bootstrap 主题。
导航栏
我的个人网站对组件的需求很

查看全文: http://www.udpwork.com/item/17073.html

+0  把我的个人网站推倒重来(Part 1 - 用 Harp 做模板引擎)

Tag: harp | jade | rebuild | website
Cat Chen 发于 2018年08月31日 23:29 | 点击: 441 | 展开摘要
根据模板和数据生成静态网站的框架有很多,例如说 Harp、Jekyll、Hugo 等等。我对比了一下,最终选择了用 Harp,因为它是用 JavaScript 写的,如果我真的需要做什么改动我可以轻易地去改它的源代码。用 Harp 的坏处也很明显,这个项目在 GitHub 的源代码上已经很久没更新,搞不好将来不再有人维护。
安装 Harp 和用 Harp 编译生成静态页面很容易。因为 Harp 是「convention over configuration」的框架,所以每个

查看全文: http://www.udpwork.com/item/17047.html

+0  把我的个人网站推倒重来(Part 0 - 历史背景)

Tag: rebuild | website
Cat Chen 发于 2018年08月24日 21:40 | 点击: 421 | 展开摘要
我的个人网站最初是架设在 catchen.biz 上面的,当时还在大学里,只是想做个网站存放简历和作品,方便找工作。那个时候我还自己设计了这个网站的模板,然后用上了时下最流行的 XHTML + CSS + JavaScript 来实现这个模板。每个页面顶部都有一行在 HTML5 时代早已不需要的声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http

查看全文: http://www.udpwork.com/item/17029.html

+0  Prediction of Red Wine Quality

Tag: machine learning | Kaggle | scikit-learn
Robin Dong 发于 2018年08月10日 14:22 | 点击: 233 | 展开摘要
In Kaggle platform, there is an example dataset about Quality of Red Wine. I wrote some code for it by using scikit-learn and pandas:

import pandas as pd

from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import ExtraT

查看全文: http://www.udpwork.com/item/17015.html

+0  Use PCA (Principal Component Analysis) to blur color image

Tag: machine learning | PCA | scikit-learn
Robin Dong 发于 2018年08月03日 11:33 | 点击: 152 | 展开摘要
I wrote an example of blurring color picture by using PCA from scikit-learn:

import cv2
import numpy as np

from sklearn.decomposition import PCA

pca = PCA(n_components = 0.96)

img = cv2.imread("input.jpg")
reduced = pca.fit_tr

查看全文: http://www.udpwork.com/item/17016.html

+0  快速排序算法(QuickSort)的代码实现

Tag: Computer System | IT技术和评论
ideawu 发于 2018年05月10日 19:46 | 点击: 588 | 展开摘要
快速排序算法,也即快排,是递归和分而治之这两种计算机基本思想的应用,再加上其实现逻辑复杂度较好,性能较快,所以快速排序算法非常经典。

快速排序算法经常作为面试算法题。快速排序算法本身并不复杂,其本身的逻辑非常简单,要掌握其思想不是难事,甚至基于其实现代码的形而上学的表面形状背下来也很轻松。但是,如果仅掌握了快速排序的思想以及代码表面形状,就认为自己懂了快速排序,就是没有真正地理解。

快速排序算法作为面试题,一是考查理论结合实践的能力,要求面试者除了知道快速排序算法的实现逻

查看全文: http://www.udpwork.com/item/16835.html

+0  彩票的数学知识

Tag: Algorithm
阮一峰 发于 2018年04月07日 23:22 | 点击: 620 | 展开摘要
彩票怎样才能中奖?

理论上,只能靠运气。但是,如果规则设计得不好,就可以钻漏洞。

2005年2月,美国的一个彩票品种,就出现了漏洞,被麻省理工学院的学生发现了。随后的七年,这个学生反复购买这个品种,一共赚到了300万美元。

本文介绍他怎么做的,以及其中的数学原理。我依据的材料,主要来自数学教授 Jordan Ellenberg 在斯坦福大学的一次演讲(Youtube)。

一、期望值

彩票最重要的数学概念,叫做"期望值"(expected value),即同一种行为多

查看全文: http://www.udpwork.com/item/16773.html
|<<<1234567>>>| 一共72页, 858条记录