After 500: 写了第500篇博客,然后呢?

在过去的日子里,作者通过写博客探索了编程的乐趣,并分享了技术知识。通过对GA数据分析,发现博客流量的增长趋势,以及如何利用新技术吸引用户。文章探讨了输出与输入的关系,以及技术在新媒体时代的重要性。

偶然间发现博客已经有498篇了,昨天写了一篇,然后今天500了。

以前是算是一个文学爱好者,后来渐渐发现了这个世界上还是有很多有意思的东西——编程。在我学会如何写好800字作文的时候,不知道已经写了几千行代码,然当时年少。在不经意间写下了第一篇技术博客之后,又写下了一篇,几个评论后发现对别人还是有帮助的。

实习的时候经常被教导着输出等于大量的输入。意思便是你在向别人讲述的东西,收获更多的人是你。

不过,我想这只是在最初的时候,如果你一直在输出而没有输入,那么你的处境就和我现在一样,相当尷尬。虽然,我还是保持着原来一样的读书速度/月,但是我总感觉少了点什么。

500篇博客

打开GA,发现上面还是有着各种数据,对比了百度站长后,发现我的GA还算是蛮准的。天朝的大部分人在访问谷歌上存在一定的困难,好在我的主要顾客是改变世界的程序员们,以及刚要进入这个行业的人,当然还有我们这些想改变世界,但是只能默默地搬砖的人。

看了看过去两年的流量,就好像看着刚出生的孩子变成了一个小孩。从0到1在现在看来是一件简单的事,但是要从1到100则不是一件容易的事。

流量

从过去的质变到现在依靠数量来取胜,然新媒体的时代已经来临了很久,只是技术这种东西还是要靠搜索的。人们总在说PC已经不行了,然而在当前真正能用平板办公的人都是那些Leader又或者是那些只需要填 填表格就能完成工作的人吧,不需要大量的制作过程,不需要明天交付,只需要看看别人都做了些什么。

过去的两年里迎来了十一万用户,大概有27万浏览量,想想过去经常在说的15分钟写一篇技术博客,也觉得是值得的。像写本文这样的长文,没有一两个小时是写不下来的。然,就是那15分钟写完的一篇文章带来了巨大的流量,我想80的流量都是那些文章带来的。

  1. 500 * 80% x15 = 6000

  2. 270000/500 = 540

  3. 270000/6000 = 45

这就意味着每篇博客大概会有500个浏览量,每分钟可以带来40个浏览量,写完那些博客大概只需要5天左右的时间。当然有些博客可能没有人访问,因为有的博客访问量差不多有6千:

pv

然要创造更多的博客已经变得越来越不现实,我们需要记录的点越来越少。而且在这个后发者优势的年代里,我们的优势已经不大了。看着从世界各个地方访问过来的人们,对比于无法分析项目上的logo,想想还是觉得分析有意思:

World

世界很大,没有人是唯一的,总有人会被替代。

技术的位置

每遇到一个新入职的人,我总在想我是否跟得上潮流。最近想了想,我发现我还是落后了,没有找到适合自己的位置。

在过去的时间里,我可以依赖于自己的编程经验,比过去的人更优秀。然而,有些技术已经没有用武之地,这就意味着新来的人可以在短时间超越我们。而我们还在泥潭里,无法出来。越是试着去追赶,只会陷得越深。有一天才发现,原来我想要的可能不是一份满意的工作,虽然我并没有为工作而工作着。然而,我在为工作而学习着。我想要的是,我想创造什么,我应该就能创造什么。

当一门新的技术出现的时候,我们与同在学校的学生学习这样的技术。但是,因为我们还需要上班,我们需要以完成任务为核心的学习。而在学校就意味着,我们可以全身心地投入学习。我们必然赶不上,这就意味着,我们不进而退。

后发者的优势特别明显。如果我们试着在新技术上追赶显然特别吃力,而这是我在过去一年里,试着去做的事。慢慢地明白了,虽然技术一直在变,但是业务是不变的,而且业务变化的速度远远落后于技术的速度。这就显得特别滑稽,过去的技术门槛已经不再。

人们对于新技术的追随,只是因为它能解决旧有的问题,同时带来新的问题。

对于业务来说,技术还是一层不变的东西。只是解决问题的核心思路不再局限于以代码为核心来开展,而开始以业务为核心去影响代码。原来的开发流程是业务逻辑直接转变为代码逻辑,但是中间的过程并不是非常流畅,我们需要以代码的角度来重新审视问题。而新技术的涌现,只会让原来的卖方市场变为买方市场。这种变化特别特别的快,无论在以业务为核心,又或者是以技术为核心的团队里。

从前,人们需要一个月、两个月。。、一年完成的软件,可能会在一星期间完成。总有些东西是不变的,机器人将取代大部分人类的工作,但是短期内只会淘汰那些没有门槛的工作。

世界很大,我们总需要出去走走。

分析

每天我们都在分析代码、分析机器、分析人、分析需求。如果我们习惯某个人的种种习惯,那么我们可以推测出ta的下一个动作。如果我们可以试着去分析每个网站所使用的架构,那么在下一次我们可以分析出新技术对于他们的影响,他们会不会采用这项技术。

架构对于人的概念只是如何去盖好一个房子。盖房子这种事情,似乎只要你经常过这个过程就会了。除非你的智商到了一个让人特别着急的地步,因此我就会怀疑你是不是靠强记博闻而成为一个开发人员的。

在我们明白了技术的突破需要一些机遇的时候,我们就需要去好好探索这个世界。有些东西如数据告诉了我们,技术只放在代码层是很可惜的,如提高用户转化率,分析用户行为等等。

又有些东西可以去研究,如分析竞争对手现有的架构等等。如何去分析是一个有意思的话题,但是我想最简单的入手点是——招聘广告。在这里人们不得不告诉外界我们真正需要的是什么。这是一个好的入手点,同时我们也可以试着从不同的视野去分析。

<think>好的,我现在要回答用户关于CSS伪元素:after:before的用法及原理的问题。首先,我需要回忆这两个伪元素的基本概念。记得伪元素用于在元素的内容前后插入生成的内容,这些内容不在DOM树中,但可以样式化。不过,用户可能会混淆伪元素和伪类,比如:hover,所以需要明确区分。 接下来,我需要确定它们的用法。常见的使用场景包括添加装饰性内容,比如图标或引号,或者清除浮动。例如,用:after插入clear:both来清除浮动布局。这时候需要举例子,比如在.clearfix类中使用。同时,要注意content属性是必须的,即使设置为空字符串,否则伪元素不会生效。 然后,原理方面,伪元素是如何工作的?它们属于文档布局的一部分,但不影响DOM结构。这意味着它们不会出现在HTML中,但可以通过CSS进行样式设置。需要解释浏览器渲染时的处理流程,比如在构建渲染树时生成这些伪元素的内容。 还要提到兼容性问题。虽然现代浏览器都支持:after:before,但旧版本可能需要单冒号语法。现在标准是双冒号,如::after,但单冒号仍然有效。这点需要说明,避免用户混淆。 另外,结合用户提供的引用内容,引用[2]提到规则匹配的过程,或许可以关联到伪元素的样式如何被浏览器解析和应用。比如,伪元素的样式规则如何被提取和匹配,尽管它们不在DOM中。可能需要解释浏览器在应用样式时的处理机制。 最后,生成相关问题时要考虑用户可能的进一步疑问,比如与伪类的区别、实际应用案例、如何动态控制内容,以及性能影响等。确保问题覆盖基本概念、使用场景、技术细节和常见问题。 总结一下,回答的结构应该是先介绍定义和用途,再讲语法和必要属性,接着是原理和浏览器处理方式,最后是注意事项和示例。确保每个部分都简明扼要,并引用提供的资料中的相关内容来增强可信度。</think>### CSS伪元素 `:after` 和 `:before` 的用法及原理 #### 1. **基本定义与用途** CSS伪元素 `:after` 和 `:before` 用于在目标元素的内容**前**或**后**插入生成的内容。这些内容默认是行内元素,可通过CSS控制样式,但不会出现在DOM树中[^1]。例如: ```css p::before { content: "→ "; color: red; } ``` 上述代码会在所有段落前添加一个红色箭头,而无需修改HTML结构。 #### 2. **核心语法与属性** - **`content` 属性必需**:即使设置为空字符串(`content: ""`),也必须声明该属性,否则伪元素不生效。 - **行内特性**:默认生成的伪元素是行内元素,可通过 `display` 属性修改为块级或弹性布局。 - **样式继承**:伪元素继承父元素的字体、颜色等样式,但可通过显式声明覆盖。 #### 3. **工作原理** - **渲染流程**:浏览器解析HTML和CSS后,在构建渲染树时,根据CSS规则动态生成伪元素内容。这些内容仅影响视觉呈现,不参与DOM事件或JavaScript操作[^2]。 - **选择器匹配**:伪元素的样式规则通过选择器匹配机制绑定到目标元素。例如,`.class::before` 的规则会通过类选择器映射到目标元素,再应用生成的伪元素内容。 #### 4. **常见应用场景** - **装饰性内容**:添加图标、引号或分隔符(如 `content: "•";`)。 - **清除浮动**:利用 `::after` 插入 `clear: both` 解决父元素高度塌陷: ```css .clearfix::after { content: ""; display: block; clear: both; } ``` - **计数器**:结合 `counter-reset` 和 `counter-increment` 实现自动编号。 #### 5. **注意事项** - **兼容性**:现代浏览器均支持双冒号语法(`::after`),但旧版本(如IE8)需使用单冒号(`:after`)。 - **动态内容限制**:伪元素内容无法通过JavaScript直接修改,但可通过CSS变量或属性(如 `attr(data-text)`)间接控制。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值