-
Notifications
You must be signed in to change notification settings - Fork 35
/
index.xml
470 lines (368 loc) · 31.2 KB
/
index.xml
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
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Hang Jiang</title>
<link>https://nodejh.com/</link>
<description>Recent content on Hang Jiang</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-cn</language>
<lastBuildDate>Mon, 20 Dec 2021 19:53:13 +0800</lastBuildDate><atom:link href="https://nodejh.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Druid 获取连接异常导致应用挂起原因分析</title>
<link>https://nodejh.com/posts/druid-%E8%8E%B7%E5%8F%96%E8%BF%9E%E6%8E%A5%E5%BC%82%E5%B8%B8%E5%AF%BC%E8%87%B4%E5%BA%94%E7%94%A8%E6%8C%82%E8%B5%B7%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90/</link>
<pubDate>Mon, 20 Dec 2021 19:53:13 +0800</pubDate>
<guid>https://nodejh.com/posts/druid-%E8%8E%B7%E5%8F%96%E8%BF%9E%E6%8E%A5%E5%BC%82%E5%B8%B8%E5%AF%BC%E8%87%B4%E5%BA%94%E7%94%A8%E6%8C%82%E8%B5%B7%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90/</guid>
<description>1. 背景 🔗1.1 现象 🔗2021.12.16 凌晨,我们的应用数据库因故发生了主备切换,之后某个 Pod 就持续报错 GetConnectionTimeou</description>
</item>
<item>
<title>如何构建 Go 应用的 Docker 镜像</title>
<link>https://nodejh.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA-go-%E5%BA%94%E7%94%A8%E7%9A%84-docker-%E9%95%9C%E5%83%8F/</link>
<pubDate>Tue, 30 Nov 2021 15:07:46 +0800</pubDate>
<guid>https://nodejh.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA-go-%E5%BA%94%E7%94%A8%E7%9A%84-docker-%E9%95%9C%E5%83%8F/</guid>
<description>在部署 Go 应用时,我们通常会使用 Docker 镜像来部署,那么如何构建一个 Go 应用的 Docker 镜像呢?镜像构建过程中有没有什么最佳实践呢? 这正是本文想要讲解的内容。</description>
</item>
<item>
<title>使用 Prometheus + Grafana 监控 k8s 上的 Spring Boot 应用</title>
<link>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-prometheus-grafana-%E7%9B%91%E6%8E%A7-k8s-%E4%B8%8A%E7%9A%84-spring-boot-%E5%BA%94%E7%94%A8/</link>
<pubDate>Tue, 26 Oct 2021 10:20:01 +0800</pubDate>
<guid>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-prometheus-grafana-%E7%9B%91%E6%8E%A7-k8s-%E4%B8%8A%E7%9A%84-spring-boot-%E5%BA%94%E7%94%A8/</guid>
<description>背景 🔗 本文主要介绍如何使用 Prometheus 和 Grafana 可视化监控运行在 k8s 上的 Spring Boot 应用,监控指标包括 CPU、内存、线程信息、日志信息、HTTP 请求、JVM 等。 技术</description>
</item>
<item>
<title>使用 Kubernetes 进行 Leader 选举</title>
<link>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-kubernetes-%E8%BF%9B%E8%A1%8C-leader-%E9%80%89%E4%B8%BE/</link>
<pubDate>Thu, 16 Sep 2021 14:33:33 +0800</pubDate>
<guid>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-kubernetes-%E8%BF%9B%E8%A1%8C-leader-%E9%80%89%E4%B8%BE/</guid>
<description>概述 🔗k8s 简化了我们在集群上部署、运维应用的流程。在 k8s 上,我们可以很方便地部署一个分布式应用。以 Deployment 为例,应用就由多个 Pod 组成,基于 Pod 的伸缩能</description>
</item>
<item>
<title>Flink on k8s: Checkpoint 的持久化存储</title>
<link>https://nodejh.com/posts/flink-on-k8s-checkpoint-%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%98%E5%82%A8/</link>
<pubDate>Mon, 02 Aug 2021 19:30:00 +0800</pubDate>
<guid>https://nodejh.com/posts/flink-on-k8s-checkpoint-%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%98%E5%82%A8/</guid>
<description>将 Flink 应用部署到 k8s 上时,为了实现任务高可用,我们就需要将 checkpoint、savepoint 以及 Job Manager meta data 等数据持久化存储下来,而不是简单地</description>
</item>
<item>
<title>Flink 任务内存泄漏导致频繁 Full FC 导致 CPU 暴增问题排查</title>
<link>https://nodejh.com/posts/flink-%E4%BB%BB%E5%8A%A1%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E5%AF%BC%E8%87%B4%E9%A2%91%E7%B9%81-full-fc-%E5%AF%BC%E8%87%B4-cpu-%E6%9A%B4%E5%A2%9E%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/</link>
<pubDate>Fri, 30 Jul 2021 17:00:00 +0800</pubDate>
<guid>https://nodejh.com/posts/flink-%E4%BB%BB%E5%8A%A1%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E5%AF%BC%E8%87%B4%E9%A2%91%E7%B9%81-full-fc-%E5%AF%BC%E8%87%B4-cpu-%E6%9A%B4%E5%A2%9E%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/</guid>
<description>最近发现部署在 k8s 上的 Flink 每运行十几个小时就会卡住,导致消费延迟、上游数据积压。消费延迟较长时间后(时间不固定,可能十几分钟,也可能是一小时),</description>
</item>
<item>
<title>从零编写第一个 Flink 应用</title>
<link>https://nodejh.com/posts/%E4%BB%8E%E9%9B%B6%E7%BC%96%E5%86%99%E7%AC%AC%E4%B8%80%E4%B8%AA-flink-%E5%BA%94%E7%94%A8/</link>
<pubDate>Wed, 03 Mar 2021 22:44:10 +0800</pubDate>
<guid>https://nodejh.com/posts/%E4%BB%8E%E9%9B%B6%E7%BC%96%E5%86%99%E7%AC%AC%E4%B8%80%E4%B8%AA-flink-%E5%BA%94%E7%94%A8/</guid>
<description>Apache Flink 是一个流计算引擎。本文主要介绍如何从零编写一个统计单词出现次数的 Flink 应用(后面简称为 WordCount)。由于 Flink 概念很多,对初学者会造成极</description>
</item>
<item>
<title>Serverless 将使前后端从分离再度走向融合</title>
<link>https://nodejh.com/posts/serverless-%E5%B0%86%E4%BD%BF%E5%89%8D%E5%90%8E%E7%AB%AF%E4%BB%8E%E5%88%86%E7%A6%BB%E5%86%8D%E5%BA%A6%E8%B5%B0%E5%90%91%E8%9E%8D%E5%90%88/</link>
<pubDate>Fri, 17 May 2019 12:00:00 +0800</pubDate>
<guid>https://nodejh.com/posts/serverless-%E5%B0%86%E4%BD%BF%E5%89%8D%E5%90%8E%E7%AB%AF%E4%BB%8E%E5%88%86%E7%A6%BB%E5%86%8D%E5%BA%A6%E8%B5%B0%E5%90%91%E8%9E%8D%E5%90%88/</guid>
<description>近日,Serverless 作为新兴的架构模式,与其相关的话题被讨论的如火如荼。Serverless 不需部署、配置和管理传统服务器,这一概念的</description>
</item>
<item>
<title>Serverless 掀起新的前端技术变革</title>
<link>https://nodejh.com/posts/serverless-%E6%8E%80%E8%B5%B7%E6%96%B0%E7%9A%84%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E5%8F%98%E9%9D%A9/</link>
<pubDate>Wed, 15 May 2019 12:00:00 +0800</pubDate>
<guid>https://nodejh.com/posts/serverless-%E6%8E%80%E8%B5%B7%E6%96%B0%E7%9A%84%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E5%8F%98%E9%9D%A9/</guid>
<description>最近关于 Serverless 的讨论越来越多。看似与前端关系不大的 Serverless,其实早已和前端有了颇深渊源,并且将掀起新的前端技术变革。本文主要就根据个</description>
</item>
<item>
<title>基于公众号的微信扫码登陆实现</title>
<link>https://nodejh.com/posts/wechat-scan-qr-code-to-login/</link>
<pubDate>Sat, 09 Dec 2017 21:42:31 +0800</pubDate>
<guid>https://nodejh.com/posts/wechat-scan-qr-code-to-login/</guid>
<description>注:文中阐述的方案是一个可以解决问题但不是最优的方案。改进之处在文末。 微信扫码登陆的主要目的有两个,一是方便用户,扫码即可登陆,不需再记忆帐</description>
</item>
<item>
<title>使用 Serverless 实现日志报警</title>
<link>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-serverless-%E5%AE%9E%E7%8E%B0%E6%97%A5%E5%BF%97%E6%8A%A5%E8%AD%A6%E5%8A%9F%E8%83%BD/</link>
<pubDate>Tue, 08 Aug 2017 22:24:05 +0800</pubDate>
<guid>https://nodejh.com/posts/%E4%BD%BF%E7%94%A8-serverless-%E5%AE%9E%E7%8E%B0%E6%97%A5%E5%BF%97%E6%8A%A5%E8%AD%A6%E5%8A%9F%E8%83%BD/</guid>
<description>最近尝试将应用的页面 JS 错误报警功能通过 Serverless 来实现。本文主要介绍一下具体实现过程,以及遇到的一些问题。 报警功能的需求也很简单,就是定时(如每隔 1</description>
</item>
<item>
<title>使用 Flexbox 使浮动元素垂直居中</title>
<link>https://nodejh.com/posts/how-to-vertically-middle-align-floated-elements-with-flexbox/</link>
<pubDate>Fri, 28 Jul 2017 20:53:14 +0800</pubDate>
<guid>https://nodejh.com/posts/how-to-vertically-middle-align-floated-elements-with-flexbox/</guid>
<description>垂直居中一直是一个很麻烦的问题,但基于 FlexBox 的垂直居中就非常简单了。 考虑下面的场景: 你正在使用网格布局的框架,比如 Bootstrap、Found</description>
</item>
<item>
<title>纯 CSS 实现响应式导航菜单</title>
<link>https://nodejh.com/posts/css-responsive-navigation-menu/</link>
<pubDate>Fri, 28 Jul 2017 17:03:58 +0800</pubDate>
<guid>https://nodejh.com/posts/css-responsive-navigation-menu/</guid>
<description>本文介绍如何使不使用 JavaScript 只使用 CSS 实现一个响应式导航菜单。菜单可以左对齐、右对齐或者居中。当用户鼠标移动到菜单上时,菜单就自动显示或隐藏,这样对</description>
</item>
<item>
<title>实现一个TodoList - Vue2 Tutorials (二)</title>
<link>https://nodejh.com/posts/vue2-tutorials-02-todolist/</link>
<pubDate>Mon, 17 Jul 2017 09:57:37 +0800</pubDate>
<guid>https://nodejh.com/posts/vue2-tutorials-02-todolist/</guid>
<description>在了解了 Vue 的一些基本概念之后,就可以写一个最简单的小项目了 &mdash; TodoList。麻雀虽小,五张俱全。虽然是一个小 demo,但也涉及到了组件化、</description>
</item>
<item>
<title>Electron 快速入门</title>
<link>https://nodejh.com/posts/electron-quick-start/</link>
<pubDate>Thu, 06 Jul 2017 15:32:26 +0800</pubDate>
<guid>https://nodejh.com/posts/electron-quick-start/</guid>
<description>简介 🔗Electron 是一个可以使用 Web 技术如 JavaScript、HTML 和 CSS 来创建跨平台原生桌面应用的框架。借助 Electron,我们可以</description>
</item>
<item>
<title>快速入门 - Vue2 Tutorials (一)</title>
<link>https://nodejh.com/posts/vue2-tutorials-01-quick-start/</link>
<pubDate>Thu, 06 Jul 2017 14:53:34 +0800</pubDate>
<guid>https://nodejh.com/posts/vue2-tutorials-01-quick-start/</guid>
<description>Vue 的官方文档 对 Vue 介绍非常详细,但官方文档使用在 HTML 中引入 vue 的方式进行讲解,而实际项目中一般使用脚手架如 vue-cli 初始化项目。以至于刚看完文档时,却依旧</description>
</item>
<item>
<title>使用 Hexo 创建项目文档网站</title>
<link>https://nodejh.com/posts/project-documentation-with-hexo-static-site-generator/</link>
<pubDate>Wed, 05 Jul 2017 11:41:43 +0800</pubDate>
<guid>https://nodejh.com/posts/project-documentation-with-hexo-static-site-generator/</guid>
<description>当我们发布一个开源项目的时候,最重要的事情之一就是要创建项目文档。对使用项目的用户来说,文档是非常有必要的,通常我们可以使用下面这些方式来创</description>
</item>
<item>
<title>深入理解 Oracle 启动原理</title>
<link>https://nodejh.com/posts/understand-the-oracle-startup-process/</link>
<pubDate>Sun, 26 Mar 2017 00:42:23 +0800</pubDate>
<guid>https://nodejh.com/posts/understand-the-oracle-startup-process/</guid>
<description>一. 常用启动步骤 🔗对于普通用户,如果需要使用 Oracle 数据库,需要两个启动步骤:启动数据库和启动监听器。 如果还需要使用 OEM 来监控数据库服务,则还要启动</description>
</item>
<item>
<title>macOS/Linux 环境变量设置</title>
<link>https://nodejh.com/posts/setting-environmental-variables-in-macos/</link>
<pubDate>Sun, 19 Mar 2017 17:15:37 +0800</pubDate>
<guid>https://nodejh.com/posts/setting-environmental-variables-in-macos/</guid>
<description>我们安装一个软件后,之所以能够使用一些与该软件相关的命令,是因为该命令被添加到了系统的环境变量里面。 比如安装完 Atom 之后,就可以使用 atom 命令打开文</description>
</item>
<item>
<title>在 Oracle 中设置自增列</title>
<link>https://nodejh.com/posts/how-to-create-auto-increment-column-in-oracle/</link>
<pubDate>Mon, 20 Feb 2017 20:26:33 +0800</pubDate>
<guid>https://nodejh.com/posts/how-to-create-auto-increment-column-in-oracle/</guid>
<description>如果你经常使用 MySQL,你肯定对 AUTO_INCREMENT 非常熟悉,因为经常要用到它。 一、什么是自增列 ? 🔗自增列是数据库中值随插入的每个行自动增加的一列。它最常用</description>
</item>
<item>
<title>JavaScript 是传值调用还是传引用调用?</title>
<link>https://nodejh.com/posts/is-javascript-a-pass-by-reference-or-pass-by-value-language/</link>
<pubDate>Sat, 18 Feb 2017 11:07:14 +0800</pubDate>
<guid>https://nodejh.com/posts/is-javascript-a-pass-by-reference-or-pass-by-value-language/</guid>
<description>1. 例子 🔗先来看两个个来自于 《JavaScript 高级程序设计》P70-P71 的两个例子。 1.1. 基本类型参数传递 🔗function addTen(num) { num += 10; return num; }</description>
</item>
<item>
<title>使用 SQL *Plus 管理 Oracle 数据库</title>
<link>https://nodejh.com/posts/using-sql-plus-on-oracle/</link>
<pubDate>Fri, 17 Feb 2017 15:03:43 +0800</pubDate>
<guid>https://nodejh.com/posts/using-sql-plus-on-oracle/</guid>
<description>SQL *Plus 是基于命令行的 Oracle 管理工具,可以用来执行 SQL、PL/SQL、 和 SQL*Plus 命令: 支持查询、插入和更新数据 执行 PL/SQL 程序 查看表和对象的定义 开发和执行批处</description>
</item>
<item>
<title>在 VPS 上安装 Shadowsocks Server</title>
<link>https://nodejh.com/posts/install-shadowsocks-server-in-vps/</link>
<pubDate>Fri, 10 Feb 2017 16:52:15 +0800</pubDate>
<guid>https://nodejh.com/posts/install-shadowsocks-server-in-vps/</guid>
<description>首先关于 Shadowsocks 的使用说明在这里:Shadowsocks 使用说明。 使用说明中描述的也非常详细。我主要是记录 在 Vultr 的 VPS 上安装 shadowsocks 安装使用过程中遇到的错误</description>
</item>
<item>
<title>更改 Ubuntu 软件源</title>
<link>https://nodejh.com/posts/change-source-list-in-ubuntu/</link>
<pubDate>Tue, 07 Feb 2017 13:08:16 +0800</pubDate>
<guid>https://nodejh.com/posts/change-source-list-in-ubuntu/</guid>
<description>1. 软件管理工具 apt-get 🔗Ubuntu 软件源本质上是一个软件仓库,我们可以通过 sudo apt-get install &lt;package-name&gt; 命令来从仓库中下载安装软件。 上面命令中提到的 apt-get 则是 Ubuntu 系统中的一</description>
</item>
<item>
<title>一键评教软件设计及代码分析</title>
<link>https://nodejh.com/posts/architecture-and-code-analysis-of-teaching-evaluation/</link>
<pubDate>Fri, 30 Dec 2016 18:58:19 +0800</pubDate>
<guid>https://nodejh.com/posts/architecture-and-code-analysis-of-teaching-evaluation/</guid>
<description>大到一个企业级应用,小到类似于该一键评教软件,都有自己的软件架构设计。通常来说,对于同一个需求,实现方式是多种多样的。 如何设计应用逻辑,如何</description>
</item>
<item>
<title>在 MacOS Sierra 上安装 Apache 和多个版本的 PHP</title>
<link>https://nodejh.com/posts/macos-sierra-apache-multiple-php-versions/</link>
<pubDate>Thu, 29 Dec 2016 00:04:41 +0800</pubDate>
<guid>https://nodejh.com/posts/macos-sierra-apache-multiple-php-versions/</guid>
<description>前言:每次搭建开发环境真的是一件很麻烦的事情,但随着时间的推移和系统环境的差异,网上的教程自己曾经安装的经验经常不合时宜,总会出现一些这样或</description>
</item>
<item>
<title>微信公众平台开发接入指南</title>
<link>https://nodejh.com/posts/wechat-development-access-guide/</link>
<pubDate>Sun, 04 Dec 2016 19:32:03 +0800</pubDate>
<guid>https://nodejh.com/posts/wechat-development-access-guide/</guid>
<description>在进行微信公众平台开发之前,需要先接入微信公众平台。具体的步骤在 公众平台开发者文档-接入指南 已有详细介绍,文档中也提供了验证服务器的 PHP 示例代</description>
</item>
<item>
<title>远程登录 VPS 语言错误</title>
<link>https://nodejh.com/posts/fix-locale-setting-warning-from-perl/</link>
<pubDate>Fri, 02 Dec 2016 15:58:06 +0800</pubDate>
<guid>https://nodejh.com/posts/fix-locale-setting-warning-from-perl/</guid>
<description>当使在 VPS 上安装软件的时候,经常遇到同一个警告,如下: perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = &#34;en_US:&#34;, LC_ALL = (unset), LC_CTYPE = &#34;zh_CN.UTF-8&#34;, LANG = &#34;en_US&#34; are supported and installed on your system. perl: warning: Falling back to a fallback locale (&#34;en_US&#34;). locale: Cannot set</description>
</item>
<item>
<title>Promise 的链式调用与中止</title>
<link>https://nodejh.com/posts/use-and-stop-promise-break-chain/</link>
<pubDate>Thu, 24 Nov 2016 22:19:49 +0800</pubDate>
<guid>https://nodejh.com/posts/use-and-stop-promise-break-chain/</guid>
<description>Abstract 🔗本文主要讲的是如何实现 Promise 的链式调用。也就是 promise().then().then().catch() 的形式,然后讨论如何在某一个 then() 里面中止 Promise。 在程序中,只要返回了一个 promise 对象,如果 promise</description>
</item>
<item>
<title>求给定数组的对等差分(symmetric difference) (△ or ⊕)数组</title>
<link>https://nodejh.com/posts/symmetric-difference/</link>
<pubDate>Sat, 29 Oct 2016 00:43:22 +0800</pubDate>
<guid>https://nodejh.com/posts/symmetric-difference/</guid>
<description>题目 创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组. 给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2,</description>
</item>
<item>
<title>在 macOS 中编译安装 MXNet</title>
<link>https://nodejh.com/posts/install-mxnet-on-macos/</link>
<pubDate>Thu, 27 Oct 2016 15:37:29 +0800</pubDate>
<guid>https://nodejh.com/posts/install-mxnet-on-macos/</guid>
<description>MXNet 是一个深度学习系统。关于 MXNet 的介绍可以看这篇文章:《MXNet设计和实现简介》。 在 macOS 上编译安装 MXNet 的大体步骤都是按照官方文档来进行安装即可。但</description>
</item>
<item>
<title>找出一个数组中的最大值</title>
<link>https://nodejh.com/posts/get-the-max-number-in-array/</link>
<pubDate>Mon, 24 Oct 2016 19:20:03 +0800</pubDate>
<guid>https://nodejh.com/posts/get-the-max-number-in-array/</guid>
<description>本文介绍 JavaScript 的几种从数组中找出最大值的方法。 使用递归函数 🔗var arr = [9,8,55,66,49,68,109,55,33,6,2,1]; var max = arr[0]; function findMax( i ){ if( i == arr.length ) return max; if( max &lt; arr[i] ) max = arr[i]; findMax(i+1); } findMax(1); console.log(max); 使用 for 循环遍历 🔗v</description>
</item>
<item>
<title>检测 Express 路由中的参数合法性</title>
<link>https://nodejh.com/posts/check-parameters-in-express-router/</link>
<pubDate>Sat, 15 Oct 2016 06:46:05 +0800</pubDate>
<guid>https://nodejh.com/posts/check-parameters-in-express-router/</guid>
<description>本文以 Express 框架为基础,讲诉如何通过一个中间件来检测 Express 路由中传输的参数是否合法。 几乎对于任何应用,前后端都需要进行传输数据。不管是通过 HTTP 请求的 POST</description>
</item>
<item>
<title>使用 Python and Keras 构建一个简单的神经网络</title>
<link>https://nodejh.com/posts/a-simple-neural-network-with-python-and-keras/</link>
<pubDate>Sun, 09 Oct 2016 18:27:44 +0800</pubDate>
<guid>https://nodejh.com/posts/a-simple-neural-network-with-python-and-keras/</guid>
<description>本文翻译自 A simple neural network with Python and Keras 1. 使用 Python and Keras 构建 一个简单的神经网络 🔗在开始之前,我们先快速复习一下当前最通用的神经网络架构:前馈网络。 我们接下来将</description>
</item>
<item>
<title>模拟登录某某大学图书馆系统</title>
<link>https://nodejh.com/posts/crawler-for-scu-libirary/</link>
<pubDate>Fri, 07 Oct 2016 01:03:30 +0800</pubDate>
<guid>https://nodejh.com/posts/crawler-for-scu-libirary/</guid>
<description>本文详细讲述如何模拟登录某某大学图书馆系统。为什么说是某某大学?往下看了就知道了 😉 对于爬虫程序,如果需要抓取的页面,需要登录后才能访问,这时</description>
</item>
<item>
<title>MySQL ibdata1 文件不可写</title>
<link>https://nodejh.com/posts/the-innodb_system-data-file-ibdata1-must-be-writeable/</link>
<pubDate>Sun, 02 Oct 2016 00:53:28 +0800</pubDate>
<guid>https://nodejh.com/posts/the-innodb_system-data-file-ibdata1-must-be-writeable/</guid>
<description>今天重启电脑后 MySQL 又用不了了! 然后查看了错误日志 : $ sudo cat /usr/local/mysql/data/jh.local.err 2016-10-01T15:51:09.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 2016-10-01T15:51:09.574413Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-10-01T15:51:09.574540Z 0 [Warning] &#39;NO_ZERO_DATE&#39;, &#39;NO_ZERO_IN_DATE&#39; and &#39;ERROR_FOR_DIVISION_BY_ZERO&#39; sql modes should be used with</description>
</item>
<item>
<title>在 Atom 中使用 ESlint</title>
<link>https://nodejh.com/posts/use-eslint-config-airbnb-in-atom/</link>
<pubDate>Tue, 27 Sep 2016 20:48:24 +0800</pubDate>
<guid>https://nodejh.com/posts/use-eslint-config-airbnb-in-atom/</guid>
<description>ESlint 主要是用来帮助我们规范书写 JavaScript 代码。通过使用 Atom 的 ESLit 插件,并配合 Airbnb 的 ESLint 规则,我们可以一边编码一边检测语法。 关于 ESLint 的详细介绍可看官方文档。 1. 在 Atom</description>
</item>
<item>
<title>分别使用 XHR、jQuery 和 Fetch 实现 AJAX</title>
<link>https://nodejh.com/posts/ajax-xhr-jquery-and-fetch-api/</link>
<pubDate>Mon, 26 Sep 2016 19:58:03 +0800</pubDate>
<guid>https://nodejh.com/posts/ajax-xhr-jquery-and-fetch-api/</guid>
<description>本文详细讲述如何使用原生 JS、jQuery 和 Fetch 来实现 AJAX。 AJAX 即 Asynchronous JavaScript and XML,异步的 JavaScript 和 XML。使用 AJAX 可以无刷新地向服务端发送请求接收服务</description>
</item>
<item>
<title>Webpack 和 React 实战</title>
<link>https://nodejh.com/posts/start-react-with-webpack/</link>
<pubDate>Fri, 09 Sep 2016 04:11:13 +0800</pubDate>
<guid>https://nodejh.com/posts/start-react-with-webpack/</guid>
<description>TL;DR 🔗$ git clone https://github.com/nodejh/start-react-with-webpack react-sample $ cd react-sample &amp;&amp; npm install $ npm run dev 然后打开浏览器输入 http://localhost:8080,并尝试随意修改一下 app 目录里面的代码,就能看到</description>
</item>
<item>
<title>在 Mac OS X 上安装 Opencv3 (Python3.5)</title>
<link>https://nodejh.com/posts/install-opencv3-for-python3-5-on-mac-os-x/</link>
<pubDate>Mon, 01 Aug 2016 21:17:51 +0800</pubDate>
<guid>https://nodejh.com/posts/install-opencv3-for-python3-5-on-mac-os-x/</guid>
<description>通过 homebrew 安装 opencv 🔗通过 homebrew 安装在 Mac OS X 上安装为 Python3.5 安装 Opencv3: $ brew install opencv3 --with-python3 ...... ...... This formula is keg-only, which means it was not symlinked into /usr/local. opencv3 and opencv install many of the same files. Generally there are no consequences of this for you. If you</description>
</item>
<item>
<title>MySQL 启动报错问题排查</title>
<link>https://nodejh.com/posts/troubleshoot-mysql-start-error/</link>
<pubDate>Sun, 31 Jul 2016 17:05:44 +0800</pubDate>
<guid>https://nodejh.com/posts/troubleshoot-mysql-start-error/</guid>
<description>今天使用 MySQL 的时候,莫名奇妙除了很多问题。在 Google 和 StackOverflow 搜索了一大堆,也没有找到很好解决办法。Anyway,最终机智的我还是把问题解决。 在此记录下整</description>
</item>
<item>
<title>使用 Ngnix 给 Node.js 应用做反向代理</title>
<link>https://nodejh.com/posts/use-nginx-reverse-proxy-nodejs/</link>
<pubDate>Sat, 30 Apr 2016 17:19:20 +0800</pubDate>
<guid>https://nodejh.com/posts/use-nginx-reverse-proxy-nodejs/</guid>
<description>一般来说使用 node.js 开发的 webapp 都不会是默认的80端口,以官方文档演示为例: const http = require(&#39;http&#39;); const hostname = &#39;127.0.0.1&#39;; const port = 3000; const server = http.createServer((req, res) =&gt; { res.statusCode = 200; res.setHeader(&#39;Content-Type&#39;, &#39;text/plain&#39;); res.end(&#39;Hello World\n&#39;); }); server.listen(port, hostname, () =&gt; { console.log(`Server running at http://${hostname}:${port}/`); });</description>
</item>
<item>
<title>Webstorm 中 Node.js 核心模块配置</title>
<link>https://nodejh.com/posts/webstorm-node-js-core-module-source-not-configured/</link>
<pubDate>Tue, 26 Apr 2016 23:37:35 +0800</pubDate>
<guid>https://nodejh.com/posts/webstorm-node-js-core-module-source-not-configured/</guid>
<description><p>在 Webstrom 中引入 Node.js 自带模块的时候,Webstorm 有如下错误提示:</p></description>
</item>
<item>
<title>JS 判断字符串是否是拼音音节</title>
<link>https://nodejh.com/posts/get-chinese-phonetic-syllable-with-js/</link>
<pubDate>Wed, 13 Apr 2016 10:35:40 +0800</pubDate>
<guid>https://nodejh.com/posts/get-chinese-phonetic-syllable-with-js/</guid>
<description>最终函数 🔗最近在抓取 Rice 大学的博士生姓名,并从中获取到中国人的姓名。由于博士有中国人和外国人,而中国人的姓名是由拼音组成,所以最终需求是这样的</description>
</item>
<item>
<title>创建 MySQL数据库及用户权限</title>
<link>https://nodejh.com/posts/create-and-manage-mysql-user/</link>
<pubDate>Tue, 12 Apr 2016 02:40:03 +0800</pubDate>
<guid>https://nodejh.com/posts/create-and-manage-mysql-user/</guid>
<description>一.创建数据库用户 🔗首先用root账号进入MySQL: $ mysql -u root -p 然后输入密码即可。 创建数据库并设置编码为 utf8,不然中文可能会乱码: &gt; create database</description>
</item>
<item>
<title>MySQL 连接错误 (61) </title>
<link>https://nodejh.com/posts/cannot-connet-to-mysql-with-error-code-61/</link>
<pubDate>Thu, 07 Apr 2016 01:55:51 +0800</pubDate>
<guid>https://nodejh.com/posts/cannot-connet-to-mysql-with-error-code-61/</guid>
<description>远程连接 MySQL 的时候出现如下错误: Can&#39;t connect to MySQL server on &#39;*.*.*.*&#39; (61) 这是因为 MySQL 默认的 bind-address 是 127.0.0.1, 也就是限制了只能本地访问. 所以解决方法之一,就是修改 bind-address. 改为 0.0.0.0 ,任何远程 IP</description>
</item>
<item>
<title>Eclipse JSP/Servlet 环境搭建</title>
<link>https://nodejh.com/posts/install-eclipse-jsp-servlet-develop-environment/</link>
<pubDate>Thu, 17 Mar 2016 19:15:01 +0800</pubDate>
<guid>https://nodejh.com/posts/install-eclipse-jsp-servlet-develop-environment/</guid>
<description>Eclipse JSP/Servlet 环境搭建 🔗本文假定你已安装了 JDK 环境,如未安装,可参阅: Ubuntu下JAVA开发环境的配置 Ubuntu 下 Tomcat 的配置 1. 踩过的坑 🔗1) Tomcat 版本过新 🔗最近 Tomcat</description>
</item>
<item>
<title>Ubuntu下JAVA开发环境的配置</title>
<link>https://nodejh.com/posts/how-to-install-java-on-ubuntu/</link>
<pubDate>Sat, 12 Mar 2016 16:06:40 +0800</pubDate>
<guid>https://nodejh.com/posts/how-to-install-java-on-ubuntu/</guid>
<description>1. 下载 JDK 🔗建JAVA开发环境,第一步就是要安装JDK。在这里下载:Java SE Development Kit 8 - Downloads 2. 解压 JDK 压缩文件 🔗首先在 /opt 新建 java 目录,并进入该目录: sudo</description>
</item>
<item>
<title>Ubuntu 下 Tomcat 的配置</title>
<link>https://nodejh.com/posts/how-to-install-tomcat-on-ubuntu/</link>
<pubDate>Sat, 12 Mar 2016 15:41:58 +0800</pubDate>
<guid>https://nodejh.com/posts/how-to-install-tomcat-on-ubuntu/</guid>
<description>1. 安装 JAVA 🔗在安装 Tomcat 之前,必须得先安装 JDK 或 JRE。 JRE 是JAVA 程序运行的基础,它提供了 JVM 等 JAVA 运行环境。而 JDK 是给开发JAVA程序的人员提供了包括</description>
</item>
<item>
<title>删除GIT中的.DS_Store</title>
<link>https://nodejh.com/posts/how-to-remove-ds-store-files-form-git-om-mac-os/</link>
<pubDate>Wed, 24 Feb 2016 14:25:25 +0800</pubDate>
<guid>https://nodejh.com/posts/how-to-remove-ds-store-files-form-git-om-mac-os/</guid>
<description>.DS_Store 是什么 🔗使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 .DS_Store 文件。.DS_Store (英文全称 Desktop Services Store)是一种由苹果公</description>
</item>
<item>
<title>Linux 用户和用户组的管理</title>
<link>https://nodejh.com/posts/linux-users-and-groups/</link>
<pubDate>Fri, 23 Jan 2015 20:33:29 +0800</pubDate>
<guid>https://nodejh.com/posts/linux-users-and-groups/</guid>
<description>Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系</description>
</item>
</channel>
</rss>