程序员在旅途

用这生命中的每一秒,给自己一个不后悔的未来!

0%

一、Nginx介绍

  Nginx是由俄罗斯人开发的一款高性能的Web和反向代理服务器,它也可以作为电子邮件的反向代理服务器。其以稳定、并发能力强、占用资源少等显著特点备受广大互联网公司青睐。
  Nginx作为Web服务器来使用可能大家都很清楚这一点,比如我们在发布一些静态网站的时候,通常都会选择使用Nginx,而不会去选择一些专门为动态网站提供支持的服务器如Tomcat等。作为反向代理服务器来使用也是它非常擅长的一个点,如果不了解反向代理机制的话可以去搜索一下,大致的意思是:用户发送一个请求给网站,以期获得一个响应,接收用户请求的就是Nginx服务器,但Nginx不会自己来处理这个请求,它会根据用户的不同请求类型,分发给不同的服务器去实现这个功能,然后将结果返回给用户。在这一过程,看似是向一个服务器发送请求,实则背后有无数的服务器在提供支持。
  以上,便是对Nginx的大致介绍,详细介绍还得要去他的 Nginx官网才行。

阅读全文 »

一、背景

  目前正在做一个问卷功能模块,收集完问卷信息后,需要将数据库中的数据导出到Excel数据表中进行留存,因此就学习了在Java中如何对Excel表进行读写操作。经过了解后选择了 POI 技术,这个 POI项目是Apache(POI官网链接)下面的一个项目,用于处理Excel和Java的数据对接操作。

阅读全文 »

一、字典(Dict)介绍

  字典是Python内置的四大数据结构之一,是一种可变的容器模型,该容器中存放的对象是一系列以(key:value)构成的键值对。其中键值对的key是唯一的,不可重复,且一旦定义不可修改;value可以是任意类型的数据,可以修改。通过给定的key,可以快速的获取到value,并且这种访问速度和字典的键值对的数量无关。字典这种数据结构的设计还与json的设计有异曲同工之妙。
  格式如下所示:

d = {key1 : value1, key2 : value2 }

阅读全文 »

一、概述

  随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件。这些不确定性事件给我们带来恐慌的同时也带了希望,让我们即使在很困难的情境下也仍然相信机会会降临在我们身上。随机漫步理论最初源于经济学中,后来逐步溢出到其他的领域。在本文中,通过绘制随机漫步图直观的查看随机现象,也更进一步了解如何使用随机函数以及绘图功能。

阅读全文 »

一、Python介绍

  现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程语言,它拥有丰富的第三方库,在许多方面都有着广泛的应用,如网站开发、游戏开发、网络爬虫、数据分析、机器学习等。
  在数据分析方面,python拥有Numpy、SciPy、Pandas、Matplotlib等功能强大的模块可供使用。随着这些模块的逐步完善,python在科学领域的地位越来越重要,这其中包括科学计算、数学建模、数据挖掘等。因此,掌握这些模块的基本使用方法至关重要,下面就逐一介绍下。

阅读全文 »

一,写作缘由

  再一次理解指针的缘由是在做数据结构的题目的时候无意中的这次程序的调试,见下图,程序运行没有问题,无意之下进行了调试,遇见了这个问题。(expression cannot be evaluated无法计算表达式的值)
错误示例

阅读全文 »

Java中的I/O机制都是基于数据流进行输入和输出的,将流转换成字节数组保存下来是数据流传输必不可少的一部分。转换的代码如下(在具体场景下需要处理流的关闭问题):

1
2
3
4
5
6
7
8
9
public static byte[] toByteArray(InputStream input) throws IOException {
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024*4];
    int n = 0;
    while (-1 != (n = input.read(buffer))) {
        output.write(buffer, 0, n);
    }
    return output.toByteArray();
}
阅读全文 »

一、概述

  在学习进程间通讯的时候,我们知道有一种通讯方式叫做socket。对于跨主机之间的进程通讯,这种方式更为常见,比如常见的基于B/S架构的web服务就是这种通讯方式的一个常见应用,客户端通过  IP+PORT 找到位于服务端上监听此端口的进程,从而与该进程进行数据通讯。再如我们常见的MySQL数据库程序,通常我们会先安装mysql应用程序,设置其启动时监听的端口,这样,当我们启动这个程序的时候,mysql服务进程就会绑定相关的端口(测试的时候常用的是3306端口),进而可以接收来自于这个端口的请求,进行相关的处理,反馈。对于这类程序,有时候会出现由于端口被占用导致启动失败的情况,比如电脑上的一个进程已经绑定了3306端口,这个时候如果再启动mysql程序,就会出现端口被占用的错误。这个时候简单一些的处理方式是可以修改mysql使用的端口号,或者结束占用3306端口的进程。

阅读全文 »

一、概述

  最近在做项目的过程中,需要利用MySQL存储过程 解析 XML数据并进行插入操作,因此就学习了下。MySQL 解析 XML 的思路就是使用 MySQL自带的 extractvalue ()函数 并根据传入XPath路径来获取相应的值,这个思路和他其他的语言的获取XML节点值差不多,只是写法不同。

阅读全文 »