JavaScript 入门教程之一 -- 总览
JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象程序设计,命令式编程,以及函数式编程。最初命名为 Mocha,1995年9月在 Netscape Navigator 2.0 的 Beta 版中改名为 LiveScript,同年12月,Netscape Navigator 2.0 Beta 3 中部署时被重命名为 JavaScript,当时网景公司与昇阳电脑公司组成的开发联盟为了让这门语言搭上 Java 这个编程语言“热词”,因此将其临时改名为 JavaScript,日后这成为大众对这门语言有诸多误解的原因之一。
不同于服务器端脚本语言,例如 PHP 与 ASP,JavaScript 主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于 JavaScript 以减少对服务器的负担,而与此同时也带来另一个问题:安全性。而随着服务器变得强大,现在的程序员更喜欢运行于服务端的脚本以保证安全,但 JavaScript 仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖 JavaScript 在客户端进行支持。随着引擎如 V8 和框架如 Node.js 的发展,及其事件驱动及异步 IO 等特性,JavaScript 逐渐被用来编写服务器端程序。且在近几年中,Node.js 的出世,让 JavaScript 也具有了一定的服务器功能。
brew 安装路径
brew 是 macOS 下流行的包管理工具,可以方便的安装各种工具。
brew 默认安装路径为:/usr/local/Cellar
,然后会在 /usr/local/opt/
建立所安装的包的软连接。
包安装好后如果不能正常执行,可以建立包的可执行程序的软连接到:/usr/local/bin/
目录。
比如安装 openssl:
brew install openssl
安装后包的路径为:/usr/local/Cellar/[email protected]/1.1.1h
。同时包的软连接在:/usr/local/Cellar/openssl
。
这时候执行命令:
openssl version
返回的并不是刚才安装的版本,而是系统自带的老版本的。这时候可以建立可执行程序的软连接到对应路径:
ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl
这时候执行命令就可以得到正确的返回:
openssl version
//OpenSSL 1.1.1h 22 Sep 2020
其他包的模式和此类似。
QT 网络应用
最近研究了下 QT 如何访问网络,做一些简单总结。
首先在 pro 文件内定义网络属性:
QT += network
如果需要连接 https 需要安装 openssl 工具,使用 QT 的 MaintenanceTool 工具找到 openssl toolkit 并安装。否则执行程序时 ssl 会报错。
安装后需要将 openssl 路径加入系统 PATH,默认安装路径为:Qt/Tools/OpenSSL
。根据需要将对应系统版本的 bin 路径加入 PATH 如:C:\Qt\Tools\OpenSSL\Win_x86\bin
,里面包含相关 lib 库文件。添加方法参考:https://blog.niekun.net/archives/413.html。
c++ 字符串数组指针的研究
在实际使用中发现对字符串的运用是一个容易混乱的地方,尤其是使用指针指向一个字符串数组的时候。下面做一些简单分析。
一个简单的测试:
const char* test1 = "abc";
const string test2 = "abc";
cout << test1 << endl;
cout << *test1 << endl;
cout << test2 << endl;
cout << sizeof (test1) << endl;
cout << sizeof (test2) << endl;
输出如下:
abc
a
abc
8
24