博客

Node.js 学习

明白 JavaScript 语言,你就会用 Node.js 了。最常见的运行 JavaScript 语言的地方就是用户的浏览器,几乎所有的浏览器上都有个 JavaScript 引擎,这个引擎负责运行在页面中嵌入的 JavaScript 代码。代码是在用户的浏览器上运行的,用户那头叫前端(Frontend),服务器这头叫后端(Backend)。Node.js 就是把 Google 浏览器上的 V8 引擎(JavaScript 引擎)搬到了服务器上,从此以后,JavaScript 语言就可以在后端运行了。

Node.js 除了能让服务端运行 JavaScript,它的核心还自带了一些功能模块,你可以用这些现成的模块去做很多事情。比如你可以创建 Web 服务,可以加密与解密,可以处理文件等等。除此以外,Node.js 的社区提供了海量的功能模块,你可以在 npmjs.com 上搜索到,找到想要的模块,安装到自己的项目里就可以用了。

用 Git 为项目打标签

为项目打标签:git tag

学会用 Git 为项目打标签。

5,000 人大群请你加入

宁皓群不只聊技术。寂寞地时候有人陪你聊天,遇到问题地时候有人帮你出主意,迷惘地时候有人给你煲鸡汤,想脱单有人给你介绍对象。现已升级成为 5,000 人大群,没事就进来聊聊吧。QQ 群号(240746680)。

《网站》第十二集:产品页的故事区

对于我们的项目,产品就是汽车,网站应该为每种汽车创建一个展示的页面。一个好的设计,可以流畅的讲一个故事,最终引导用户去执行你事先设定好的某些动作。《网站第十二集,完成了产品页上的主要的故事区,这部分内容展示的是产品的两个最重要的特点,汽车的外观与内饰。这部分内容我们会用旋转木马的形式展示出来。

现在订阅,就可以立即学习全套《网站》系列课程了。

《网站》第十一集:产品页上的英雄区

网站》已经更新到了第十一集,完成了首页设计以后,已经开始制作产品页面了。第十一集完成了产品页的英雄区的设计,这部分内容跟之前首页的英雄区相近,不过还是做了一些改进,比如我们用了新的长度单位改进了英雄区的显示比例。现在它不但可以响应窗口宽度,还可以响应窗口的高度。英雄区现上可以显示静态图片,还可以是一小段视频背景,视频的播放会响应滚动行为,滚动到页面一定程度时自动停止或播放视频背景。

《网站》是宁皓网出品的系列课程,订阅以后您就可以在线学习整个系列课程了。

你现在可以考虑成立一家公司

我不是要蛊惑大家盲目地成立公司,不到非得这样做的时候,就别去搞个公司,成立公司肯定会带出很多麻烦事儿,你的成本也会增加。但我又觉得也不应该让公司成为我们的障碍,因为有很多服务都要求我们得是个公司。有了想法,确定了要提供的产品与服务,那应该就要考虑成立一家公司。现在政策也比较好,有很多优惠,鼓励我们去创立公司。

注册

注册成立一家公司,得先去工商局登记。先确定一下公司的名字,工商局要核实你的公司名跟别人的公司名是否有冲突。因为核名用的不是汉字,而是拼音,并且会两个字相叠地去核实,比如公司名是 “王皓和小雪”,核名时会先看 wanghao ,再检查 haohe,然后是 hexiao,最后是 xiaoxue。所以多准备几个名字。

确定了名字肯定会有一大堆表等着你填,还得让你准备一些资料,这些跟着工商局的指示办就行,打谱多跑几趟,这时候情商得高点。现在用的都是多证合一,比如工商营业执照,组织机构代码证,税务登记证,这些东西都在一张纸上,就是你的营业执照。

办营业执照花不了多少钱,几百块应该就够了,包含刻公章,财务章的钱。

面向对象:理解 Services 与 Containers

在技术领域,Services 与 Containers 这两个词经常会出现,它们所指的东西在不同语境下有所不同。我们可以先按字面意义去理解它们,Services 指的是服务,Containers 就是容器的意思。

在面向对象编程(OOP)这个语境下,Services 指的是能提供某种服务的类(Class),就是能干某些事情的类。比如一个类提供了发短信的服务,这个类就是一个 Services 类。

Containers 在这个语境下,指的也是一种特别的类(Class)。这种类里面装的是 Services 对象。这样我们在应用里的某个地方需要某个服务的时候,可以直接到容器那里要,因为服务都在容器那里装着呢。

《LEMP》PHP 网站的运行环境

LEMP 指的是用  PHP 语言编写的网站应用的运行环境。L 表示 Linux,是一种服务器操作系统。E 表示 Nginx, 是一种 Web 服务器,简称 E,是因为它的读音是 Engine X。M 表示 MySQL 或 MariaDB,是一款数据库管理系统。P 表示 PHP,这里指的是 PHP 语言的解释器。

Linux

Linux 是一种操作系统,因为它更安全,更可靠,所以你的网站要运行在安装了 Linux 操作系统的服务器上。它有很多发行版,你可以随便选择一个,比如 CentOS 或 Ubuntu。我们有本手册介绍了 CentOS 这种 Linux 操作系统。宁皓网的服务器用的就是 CentOS 这种操作系统。

Nginx

Nginx 是一种 Web 服务器,你在服务器上安装了这种 Web 服务器软件以后,你的服务器就可以对外提供 Web 服务了。也就是用户可以访问你的服务器,去请求一些资源。如果是静态资源,比如图像,css,js 文件,Nginx 会直接返回给用户,如果用户请求的是 PHP,Nginx 会把请求交给 PHP 处理,处理之后的结果会再交给 Nginx,然后 Nginx 会把最终的结果交给当初发出请求的用户。

MySQL / MariaDB

MySQL 是一种数据库管理系统,它有个社区版叫 MariaDB,你可以任意选择其中的一个。网站上的很多内容要存储在数据库里,比如用户资料,文章,评论等等。程序语言(比如:PHP)通过接口可以把数据放到数据库系统里,也可以从数据库系统里提取数据。

PHP

PHP 在这里指的是 PHP  语言的解释器。在用 PHP 语言写的网站的运行环境里,只有 PHP 解释器懂 PHP 语言。所以 Nginx 遇到对 PHP 文件的请求,就会把请求交给 PHP 解释器。这个解释器与 Nginx 之间需要一个中间人相互沟通,这个中间人叫 PHP-FPM。

在线阅读

https://lemp.ninghao.net/

Drupal 8:本地开发调试

在本地开发 Drupal 8 网站,你需要做点特别的设置,比如不让 Drupal 合并网站使用的 CSS 与 JS  文件,禁用掉 Drupal 的缓存等等。不然你修改了某个地方想看到修改之后的结果,每次都得先去重建一下 Drupal 的缓存。

本地配置文件

为本地开发环境准备一个特别的配置文件,这个配置文件只在本地开发环境上存在,也就是你不需要把这个配置文件放到项目仓库里做版本控制。在这个本地配置文件里,去做一些特别的配置,这样这些配置就只会存在于本地开发环境上。

Drupal 默认的配置文件叫 settings.php,它会在网站目录的下面,比如 sites/default/settings.php,打开这个配置文件,然后查看下面这段代码:

# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
#   include $app_root . '/' . $site_path . '/settings.local.php';
# }

去掉代码前面的注释符号,让它生效:

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
  include $app_root . '/' . $site_path . '/settings.local.php';
}

意思就是,如果网站目录下面的存在 settings.local.php 文件,就把它载入进来。这个文件 Drupal 已经准备好了一个参考示例,位置是在 sites/example.settings.local.php,复制一份这个文件,把它放在 sites/default/settings.local.php

Drupal 8:在 Docker 环境里运行

今天的任务是在本地创建一个可以运行在 Docker 上的 Drupal 8 项目。运行环境我已经做好了,用的就是 nest ,这个项目 Compose 了一个一般的 PHP 网站的运行环境,包含 NGINX,PHP,MariaDB,PHPMyAdmin 这些服务。Drupal 8 应该现在推荐用 PHP 的包管理工具 Composer 创建,安装 Drupal 可以用 Drupal Console 或 Drush。现在先介绍一下过程。

运行环境

先把我做的 nest 克隆到本地,放在 ninghao 这个目录的下面。如果你想更折腾一下,可以把 nest 仓库 fork 到自己的 github 帐号下面,然后克隆自己的 nest 远程,这样你可以修改项目,并且如果你觉得自己的修改对别人有帮助,可以对我的 nest 提交 pull request 。

下面我们直接克隆 ninghao 的 nest:

git clone https://github.com/ninghao/nest.git ninghao


微信好友

用微信扫描二维码,
加我好友。



微信公众号

用微信扫描二维码,
订阅宁皓网公众号。



240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

7584
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点