回忆起这段在老家的正式谈的第一段感情,还是有些感慨的。真是有种初听不知曲中意,再听已是曲中人的感觉。也懂了 人生若只初相见的感觉。

Read more »

昨天和一个创业公司的老板聊了聊,发现自己需要努力的地方还有很多,以下就是我认为自己需要改进的地方。

  1. 人生目标。这是一个非常宏大的话题,对于这个问题,我确实回答的不好,因为我自己确实没有想清楚自己到底要成为什么样子的人,这个问题说来话长了,如果要是在童年的时候问我,我那个时候想自己成为一个科学家,开发一些对人类有价值的东西,我相信在那个年代,大部分孩子也都是这样想的。然而随着慢慢长大,经历过社会的毒打之后,可能大部分都了解或者说对于自己能力的局限有了一些认知,于是慢慢的就是得过且过,没有自己的远大目标,因为可能只是面对生存,他们都已经耗尽全力了。当然如果你非要仔细扣,那肯定是因为他们没有去仔细思考自己的职业发展了。

    在前两年,刚知道陈皓的时候,想的是成为他那样的人,做一个在技术领域有所贡献的人,但是不幸的是他突发噩耗,突然就离开了人世。我也突然意识到,我们的生命和健康本来就很脆弱,时间也很短,那我到底做些什么那?昨天我这个问题又再次在我的脑海中不停的浮现。不知道为啥,我喜欢帮助他人,喜欢帮助他人解决技术问题,帮助他人似乎让我更加有精神,更加有动力,也有可能是为了证明我自己有用吧,无论如何,还是喜欢帮助他人。所以还是想做一款自己的产品,能够帮助他人的产品。

  2. 职业发展。在第一个人生目标没有想清楚的时候,职业发展就更是模糊不清了。只是说单纯想要一直想要敲代码,但是人在国内,也知道这大概率不太可能。如果到了35岁,还没有升到管理岗位,那其实最后也只能被市场淘汰了。当然你技术特别牛皮的除外。

  3. 读书。在过去的几年中,我虽然也断断续续的看书,但是并没有将自己学到的知识总结下来,也没有坚持一年看十几本书之类的,还是忽略了自己的长期发展,对于个人来说,确实读书是一个比较好的方式来提高自己。同时也要慢慢的限制自己刷短视频的时间了,这种即使信息大部分都是看完就完了,是一种消磨时间的好方式。张一鸣知道延迟满足的重要性,知道延迟满足的困难,但是却做出来一款非常满足人类的即使满足的产品。从某个角度而言,他似乎在阻挡人们前进的脚步,但是从另外一个角度说,这些人不在玩抖音就在玩其他及时满足的产品,似乎也不太会有什么改变。

  4. 创业。在之前我从来都不敢有自己创业的想法,直到和他交流完毕之后,打破了自己的认知,其实每个人都可以创业。尤其是程序员。你只需要简单的一个小团队,在你摸清楚用户需求之后,就可以开始了。


百度

识别效果不太理想

b49660deaa56e3b5812a53347f8e6a7

华为

需要付费才可以调用api

image-20231227175607361

image-20231227175502287

阿里

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

sellerBankAccountInfo:

purchaserBankAccountInfo:

sellerName:金华企客管网络科技有限公司

invoiceTax:297.03

passwordArea:

title:电子发票(普通发票)

printedInvoiceNumber:

totalAmountInWords:叁万圆整

invoiceNumber:23332000000091017218

invoiceType:数电普通发票

invoiceDetails1

unitPrice: 29702.9702970297

taxRate: 1%

itemName: *软件*财务软件源码

unit: 套

amount: 29702.97

quantity: 1

specification: V4

tax: 297.03

purchaserContactInfo:

formType:

machineCode:

specialTag:

printedInvoiceCode:

drawer:刘黎明

reviewer:

invoiceDate:2023年12月26日

purchaserTaxNumber:91310113MA1GNRK851

invoiceCode:

purchaserName:上海迭特信息科技有限公司

checkCode:

totalAmount:30000.00

sellerContactInfo:

invoiceAmountPreTax:29702.97

recipient:

sellerTaxNumber:91330703MA2HUM3X9J

remarks:

isCopy:否

阿里的付费价格有些复杂

薪火科技

需要付费才可以调用api

image-20231227175055645

总结

百度的效果不行,华为 阿里 薪火科技 识别效果基本准确,差不太多,对比价格,阿里的价格比较复杂,华为和薪火科技对比,华为便宜一点,比如10万次的时候 华为5600,薪火科技6980,但是华为这个是限制使用年份的,一年一年买的,过了这年没用完的可能就不能用了。

  • 如果知道或者预估了调用量的话 可以使用华为ocr

  • 如果不知道的话,也先用华为ocr比较好,毕竟便宜一点

一转眼,又是一年过去了,今天是2023年的圣诞节,是星期一,没啥事儿 ,看到大家都写了年终总结,我也来写下吧,毕竟之前也写了三年了,写年终总结这个东西怎么说那,有对自己一年的回顾其实挺好的,也许现在看起来没啥意义,但是时间线拉长,或许就有些意义了。其实我更想用视频记录自己的成长,看起来更生活形象一些,但是还是有些恐惧的,希2024年可以用视频记录自己的生活吧。

Read more »

缘由

不知道为什么,我在使用阿里云图片的时候,识别文章主色总是很慢,于是就觉得能不能生成文章的时候就直接确定主色,于是就有这个文件

代码

我的hexo souce文件是位于:

D:\blog\blogSourceCode\

这个新建文件是位于主题内这个目录下的:

D:\blog\blogSourceCode\themes\anzhiyu\scripts

文件名为 getTopImageColor.js

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285

// 自动设置文章的 ogImage 和 main_color 两个字段

const fs = require("fs");

const path = require("path");

const axios = require("axios");

const yaml = require("js-yaml");

const https = require("https"); // Make sure to import this module

const { type } = require("os");



const POSTS_DIR = process.cwd() + "/source/_posts";

const RANDOM_IMG = "https://random-img.pupper.cn";



// Define httpsAgent right after your imports and before the function calls

const httpsAgent = new https.Agent({

rejectUnauthorized: false,

});



async function getCoverImage() {

try {

const response = await axios.get(RANDOM_IMG, {

maxRedirects: 0,

validateStatus: (status) => status === 302,

httpsAgent, // Use the agent here

});

return response.headers.location;

} catch (error) {

console.error("Error fetching ogImage image:", error);

}

}



async function getMainColor(url) {

try {

const urlSuffix = "?imageAve";

const aliyun = "aliyun";

//记得去添加自己常用文章图片的关键字,以及获取图片主色的方式

//我这个是由于我用的阿里云的,于是这样写的

if (url.includes(aliyun)) {

urlSuffix = "?x-oss-process=image/average-hue";

const response = await axios.get(`${url}` + urlSuffix);

return response.data.RGB;

}

const response = await axios.get(`${url}` + urlSuffix);

const mainColorData = response.data.RGB; // Access the RGB field

const mainColor = `#${mainColorData.slice(2)}`;

return mainColor;

} catch (error) {

console.error("Error fetching main color:", error);

}

}



function processFiles(dir) {

const files = fs.readdirSync(dir);



for (const file of files) {

const fullPath = path.join(dir, file);



if (fs.statSync(fullPath).isDirectory()) {

processFiles(fullPath);

} else if (path.extname(fullPath) === ".md") {

addCoverAndMainColor(fullPath);

}

}

}



function formatISO8601ToCustomFormat(isoDateString) {

// 检查输入是否已经是目标格式("yyyy-MM-dd HH:mm:ss")

if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(isoDateString)) {

return -1; // 如果已经是目标格式,则直接返回

}

const pubDateTime = new pubDateTime(isoDateString);



const year = pubDateTime.getUTCFullYear();

const month = (pubDateTime.getUTCMonth() + 1).toString().padStart(2, "0");

const day = pubDateTime.getUTCDate().toString().padStart(2, "0");

const hours = pubDateTime.getUTCHours().toString().padStart(2, "0");

const minutes = pubDateTime.getUTCMinutes().toString().padStart(2, "0");

const seconds = pubDateTime.getUTCSeconds().toString().padStart(2, "0");



return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;

}



async function addCoverAndMainColor(filePath) {

const content = fs.readFileSync(filePath, "utf8");

const yamlSection = content.match(/---\n([\s\S]*?)---/);



if (!yamlSection) return;



const data = yaml.load(yamlSection[1]);



let updated = false;



if (data.pubDateTime) {

const _date = formatISO8601ToCustomFormat(data.pubDateTime);

if (_date === -1) {

updated = false;

} else {

data.pubDateTime = _date;

updated = true;

}

}



if (data.update) {

const _update = formatISO8601ToCustomFormat(data.update);

if (_update === -1) {

updated = false;

} else {

data.update = _update;

updated = true;

}

}



if (!data.ogImage) {

data.ogImage = await getCoverImage();

updated = true;

}



if (!data.main_color) {

data.main_color = await getMainColor(data.ogImage);

updated = true;

}



if (updated) {

const updatedYaml = yaml.dump(data);

const updatedContent = content.replace(yamlSection[1], updatedYaml);

fs.writeFileSync(filePath, updatedContent, "utf8");

console.log(`Updated: ${filePath}`);

}

}



processFiles(POSTS_DIR);



hexo.on("before_generate", async () => {

console.log("Automatically updating ogImage and main color...");

await processFiles(POSTS_DIR);

console.log("ogImage and main color updated successfully!");

});



//在文件底部添加这段代码

hexo.on("before_generate", async () => {

console.log("Automatically updating ogImage and main color...");

await processFiles(POSTS_DIR);

console.log("ogImage and main color updated successfully!");

});

为啥要买房

传统

一般普通人会在什么时候买房那,大部分都是结婚的时候,女方要房子的时候。站在女方的立场上,想要在结婚之后有一个稳定的居所没啥问题,要求房子其实也没啥问题。但是要考虑到当前世界是什么样子的,如今的房价是个人都知道太贵了,基本上要掏空六个钱包才行,确实是要好好考虑一下才行。

那么房子提供给我们的到底是什么那?一个稳定的居所,内心的安定,以及周围的配套设置,还有经典的学区房。所以其实买的不仅仅是一个房子,更多的是这一系列的东西和它捆绑在一起了,那么我们就一个一个来分析,这到底是真的都捆绑在一起吗?还是说是我们观念导致的

稳定的居所,这个确实有,但是问题是你的工作稳定吗?如果没有一个稳定的工作,那么要一个稳定居所有啥用?稳定的居所适合有稳定工作的人,如果你还没有一份稳定的工作,那么抱歉,这个可能你没啥体验。当你换了一份工作的时候,通勤时间比较久的时候,你是否还会感觉开心,而且还不敢休息,不敢失去工作每个月都要还贷款

内心的安定,这个确实是我们深受国家传统观念的影响,即使是我说的可以一直租房,但是其实我内心还是希望拥有一套自己的房子,可是这是在自己的承受范围内,如果拥有这个需要我背负巨额的负债,不敢失去工作,不敢消费,只能做牛马,那其实我感觉租房也可以

周围配套设施,这个确实,但是你要事先考察好周围才行,如果你之后不满意,你也无法改变,只能接受,反倒是租房如果住了一段时间,觉得厌倦了,就可以换个地方,只是搬家比较麻烦,但是现在这个时代,只要你愿意付钱,就会有专门的公司来承接这种服务,直接找房子即可

学区房,在国内好多人买房子的一大重要原因就是房子是和附近学校绑定的,但是从目前大趋势来看,未来随着国内出生率不断下降,人口越来越少,很多东西就会变化,其实目前已经有一些地方来提供租售同权的政策了。那什么是租售同权的?其实就是你租房子和买房子拥有一样的权利了,你租房子的孩子也可以在附近的学校上学了,那么这样一旦放开的话,对房地产又是一个很大的打击,所以说未来来看学区房也是一个伪概念了

房子

最近看b站视频有个很有意思的观点,就是在讨论房子属性的时候,女方说 目前提供建议:以投资为目的的时候可以买房,但是你如果以投资为目的不建议。男方就立马反驳道:房子这个东西本来就是有两种属性的,投资和消费属性的,而且金额还很大,你是无法把他当做一个日常的消费品的,你只要是买房子,那么这就必然是一种投资行为

我听到之后非常认同,房子这东西你但凡是买了,那就必然是一种投资行为,这是无法避免的,即使你嘴上不承认。其实过去的几十年中,那么多人为啥有了钱都买了房子,他们都觉得稳定,稳定的什么?稳定增值啊,但是到如今这个时间点就不太行了,房价大部分都在下跌,好多人都在降价出手了,这明显可以反应出来目前大家都对未来预期不好,都想把握好自己的现金流。

国外

国外其实很多地方也是房价很高的,大部分都是选择租房的,而且他们没有我们中国传统观念的束缚,不是说非要买一套房子才行,只要有地方住就可以了。这才回归到房子的本质,居住。由于国外基本上都实现了租售同权的,所以基本上都是选择租房了,这也就是国内未来发展的一个大趋势。

总结

  • 刚需房,学区房都是伪概念

  • 房子这个东西本来就是有两种属性的,投资和消费属性的,而且金额还很大,你是无法把他当做一个日常的消费品的,你只要是买房子,那么这就必然是一种投资行为

  • 随着国内人口增长率进一步下降,房价大幅涨上基本不太可能,核心城市核心地区当然还是很吃香,但是三四线以及以下城市最好还是不要买房了,否则可能不太好转手卖出去了

  • 如果真的是决定定居在一个城市了,女朋友还非要房子才行,你们也都想清楚了,那我只能说尊重个人选择了

  • 除非你是真的很有钱,可以全款之类的,否则都不建议买房!!!

0%