首页
话题
消息
手册

最新文章

public 和 private 访问修饰符

公有私有成员 查看如下结构体: struct DateStruct // 结构体成员默认是公有的(public) { int month; // 默认公有, 可被任何人访问 int day; // 默认公有, 可被任何人访问 int year; // 默认公有, 可被任何人访问 }; int main() { DateStruct date; date.month = 10; date.day =…

千笙结 8小时以前 浏览 791 评论 0 收藏 0

JavaScript Map 映射

我们可以把映射看成是对 JavaScript Object 的一个扩展。在传统的 JavaScript Object 中,当我们设置 key, value 对的时候,key 只能是字符串。ES6 对这个进行了扩展,形成了新的映射类型,映射类型的 key, value 对可以是任意对象。 映射的初始化 在 ES6 中,可以通过如下2种对构造函数的调用来创建并初始化一个映射对象 不传参数给构造函数,这…

JSmiles 1天以前 浏览 665 评论 0 收藏 0

MySQL 查询优化

这部分其实就是搞懂对于我们写的 SQL 语句,MySQL 是怎么执行的,比如是会全表扫描,还是走聚簇索引,还是二级索引,等等。为了了解查询优化,首先我们需要来看两部分,在进行单表查询时有哪些方法,以及表连接是什么原理。 单表查询 也就是 select * from users where email = "XXX" 这样的语句,对一张表进行查询。有以下几种方式: const:通过主键或者 uniq…

JSmiles 1天以前 浏览 927 评论 0 收藏 0

koa-generator 脚手架 / 生成项目骨架

这里的 generator 是生成器的意思,用于生成项目骨架,express-generator 就是一个比较好的例子,虽然比较精简,但结构清晰,足矣满足一般性的开发需求 鉴于很多人非常熟悉 expressjs,这里假定大家也熟悉 express-generator express-generator 提供的功能 生成项目骨架 约定目录结构(经典,精简,结构清晰) 支持 css 预处理器 koa-…

JSmiles 2天以前 浏览 779 评论 0 收藏 0

C++ 介绍编译器 连接器和库

继续我们从上一课 0.4 C++ 开发简介中对该图的讨论: 我们来讨论步骤 4-7。 第4步:编译源代码 为了编译 C++ 程序,我们使用 C++ 编译器。C++ 编译器按顺序遍历程序中的每个源代码(.cpp)文件,并执行两项重要任务: 首先,它检查您的代码以确保它遵循C++语言的规则。如果没有,编译器会给你一个错误(和相应的行号),以帮助确定需要修复的内容。编译过程也将中止,直到错误得到修复。 …

千笙结 2天以前 浏览 763 评论 0 收藏 0

HttpClient 教程 PDF 文档

超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了。Web 服务,有网络功能的设备和网络计算的发展,都持续扩展了 HTTP 协议的角色,超越了用户使用的 Web 浏览器范畴,同时,也增加了需要HTTP协议支持的应用程序的数量。 尽管 java.net 包提供了基本通过 HTTP 访问资源的功能,但它没有提供全面的灵活性和其它很多应用程序需要的功能。HttpClient 就是寻求弥补这…

JSmiles 4天以前 浏览 770 评论 0 收藏 0

FreeMarker 手册 v2.3.19

FreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 HTML 格式的文本用来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包,或者说是一个类库。它不是面向最终用户的,而是为程序员提供的一款可以嵌入他们所开发产品的应用程序。 目录 前言.. 7 什么是FreeMarker? .. 7 我们应该阅读什么内容? .. 8 文档规约. 8 联系我们. 8…

JSmiles 4天以前 浏览 718 评论 0 收藏 0

Koa 路由

写法说明 Koa 1.x 只要是 koa-router 写的路由都可以加载的,加载方式和 express 里一样 var router = require('koa-router')(); router.get('/', function *(next) { this.body = 'this /1!'; }); router.get('2', function *(next) { this.bo…

JSmiles 4天以前 浏览 674 评论 0 收藏 0

Koa 上下文

koa 的中间件 app.use(function *(next){ this; // is the Context this.request; // is a koa Request this.response; // is a koa Response }); 说明: this 是上下文(注释 1*) * 代表 es6 里的 generator http 模型里的请求和响应 this.requ…

JSmiles 4天以前 浏览 907 评论 0 收藏 0

Gorm FirstOrCreate 的同时更新一些字段

场景:满足某些 where 条件的某条记录,如果已经存在,则将这条记录的某些字段进行更新,如果不存在,则创建这条记录,同时更新指定的字段 FirstOrCreate 语句可以满足不存在则创建记录的要求,但没法继续对指定字段进行更新,如果我们想要完成 不存在即创建,然后更新指定字段 的需求,有以下几种方式: 使用多条语句,先使用 where 条件查找记录,若记录不存在,则直接创建,创建的同时指定要更…

JSmiles 4天以前 浏览 811 评论 0 收藏 0

Golang 互斥锁如何实现公平

如果多个 goroutine 都在请求同一个锁,sync.Mutex 是如何实现分配公平的呢?我们可以从 Mutex 的注释中理解: 互斥锁有两种状态:正常状态和饥饿状态。 在正常状态下,所有等待锁的 goroutine 按照FIFO顺序等待。唤醒的 goroutine 不会直接拥有锁,而是会和新请求锁的 goroutine 竞争锁的拥有。新请求锁的 goroutine 具有优势:它正在 CPU …

JSmiles 4天以前 浏览 771 评论 0 收藏 0

AWK 程序设计语言

计算机用户经常把大量的时间花费在简单,机械化的数据处理工作中 — 改变数据格式,验证数据的有效性,搜索特定的数据项、求和、打印报表等。这些工作完全可以自动化地完成,但是如果每碰到一个这样的任务,就用一门标准的编程语言(比如 C 或 Pascal)写一个专用的程序来解决它,未免也太麻烦了。 Awk 是一门特殊的编程语言,它非常适合处理上面提到的任务,经常只需要一两行便可搞定。一个 awk 程序由一系…

JSmiles 4天以前 浏览 752 评论 0 收藏 0

MySQL InnoDB 的 Buffer Pool

虽然 InnoDB 是基于磁盘的存储引擎,但是磁盘交互的速度还是太慢了,不可能每次都去读取磁盘。因此我们需要有缓存,在 MySQL 中,Buffer Pool 就是一片连续的内存空间,用来缓存页的数据。默认 128M,也可以自己设置。 Buffer Pool 的空间主要可以分为两部分,一部分是缓存的页的数据,每个缓存页的大小都是16KB,一部分是控制信息,如图: 当 MySQL 从磁盘中读取了一个…

JSmiles 4天以前 浏览 918 评论 0 收藏 0

MySQL 事务之 undo log

  • MySQL 事务之 undo log
  • MySQL 事务之 undo log
  • MySQL 事务之 undo log
  • MySQL 事务之 undo log

上面说的 redo 日志主要是满足事务持久性的要求。而事务还有一个要求就是原子性,也就是执行过程中如果出错了,或者手动 ROLLBACK,需要把已经修改的地方都改回事务开始前的状态。这个时候就要靠 undo 日志(undo log)了,和 redo 日志类似,undo 日志就是把在事务执行过程中的增、删、改操作都记下来(查询操作不需要记录 undo 日志)。 MySQL 会为涉及了增删改操作的事务…

JSmiles 4天以前 浏览 743 评论 0 收藏 0

JavaScript Set 集合

集合对象类似于以前 JavaScript 中的数组,只是集合对象中不能存在相同的对象。 集合的初始化 集合对象是通过构造函数进行初始化的,调用格式有2种 不传参数给构造函数,这将创建一个空的集合对象 var sampleSet = new Set(); console.log(sampleSet.size); //will output 0 传递一个数组对象给构造函数,将创建一个包含这个数组中不重…

JSmiles 5天以前 浏览 735 评论 0 收藏 0
更多

推荐作者

Archangel

文章 0 评论 0

瑾夏年华

文章 2 评论 0

佚名

文章 0 评论 0

wfzeng

文章 0 评论 0

18500088356

文章 0 评论 0