MySQL JSON操作介绍

MySQL自版本5.7.8开始引入了对JSON的支持。毕竟随着JSON数据格式越来越流行,数据库字段类型支持JSON能给很多业务提供更大的便捷性,下面我们直接介绍对MySQL里JSON字段的增删改查操作。

建字段

新增一个json数据

JSON里新增一个一级字段

JSON里新增一个二级字段

JSON数组里新增一个元素

根据json里的字段查询

根据json里的数组元素做查询

修改JSON里一级数据

修改JSON里的数组数据

接着我们通过JSON_AR[……]

阅读全文

发表在 数据库 | 留下评论

MongoDB常用操作介绍

概述

MongoDB是一个非关系型数据库,采用文档存储模型。在MongoDB中,数据以BSON(二进制JSON)格式存储,每个文档是一个键值对的有序集合。MongoDB的文档概念包括以下几个要点:

  1. 文档结构:MongoDB的文档是一个类似于JSON的结构,由字段和对应的值组成。字段可以是任意的数据类型,包括字符串、整数、浮点数、布尔值、日期、数组和嵌套文档等。
  2. 唯一标识:每个文档都有一个唯一的_id字段,用于唯一标识该文档。如果不指定_id字段,MongoDB会自动生成一个唯一的ObjectId。
  3. 集合:文档的集合被称为集合(Collection),类似于关系型数据库中的表。每个集合可以包含多个文档,每个文档可以有不同的结构[……]

    阅读全文

发表在 数据库 | 一条评论

浏览器渲染流程

[……]

阅读全文

发表在 前端 | 留下评论

WebAssembly使用入门介绍

WebAssembly是什么?

WebAssembly(通常缩写为wasm)是一种基于堆栈的虚拟机的二进制指令格式。它被设计为一种低级、可移植的字节码,可在Web浏览器和其他环境中执行,它设计的目的不是为了手写代码而是为诸如 C、C++和 Rust 等低级源语言提供一个高效的编译目标。

WebAssembly是一种新型的代码,可与HTML、CSS和JavaScript一起用于Web或者Nodejs开发。

WebAssembly比JavaScript具有许多优势。它更快,能够处理更多的数据,也更容易在不同的平台上实现相同的功能。

使用WebAssembly方式

WebAssembly 当前,有四个主要的着[……]

阅读全文

发表在 Nodejs, 前端 | 一条评论

理解React Fiber

Why

What

How

首先我们看下React里定义的Fiber是一个什么数据结构,源代码里的数据字段比较多,我这里就精简写出跟Fiber树相关的几个字段

每个Element元素对应到一个Fiber节点 ,通过return记录父节点,child记录第一个孩子节点,sibling记录下一个兄弟节点,这样原本的树结构就转换成Fiber树结构。

Fiber架构可以分3层

1、Scheduler(调度器)

它的核心是利用window.requestIdleCallback()这个方法(react团队对这个方法做了改造),它会在浏览器有空闲时间的时候执行对应的任务,这[……]

阅读全文

发表在 前端 | 标签为 , | 留下评论

React源码调试环境搭建

工程创建

源码下载

修改webpack配置

编译错误修改

结语

[……]

阅读全文

发表在 前端 | 留下评论

Android中的NDK OpenGL

有过android开发经验应该或多或少地听说过OpengGL,甚至也行使用过framework提供的opengl包做过一些2d,3d相关的绘制,但事实上Android还提供了NDK方面的opengl能力,这个能力更接近真实的opengl,网上这部分的文章并不多,因此打算写一篇NDK相关的OpenGL。

什么是OpenGL

环境准备

提供Surface

获取当前平台窗口

接下来开始都是NDK部分的处理

获取 EGLDisplay 对象,建立与本地窗口系统的连接

获取 EGLConfig 对象,确定渲染表面的配置信息

创建渲染表面 EGLSurface

[……]

阅读全文

发表在 Android | 留下评论

检查Nodejs循环依赖

相信有用nodejs开发过项目的开发或多或少会遇到过循环依赖的问题,比如类似如下的错误

循环依赖是什么

为什么会有循环依赖

如何查找循环依赖

[……]

阅读全文

发表在 Nodejs | 留下评论

结构思考力笔记

结构化思考的底层逻辑

透过结构看世界,洞悉事物本质

三层次模型,结构思考力的核心概念

金字塔结构,结构思考力的训练工具

30秒说清楚问题

麦肯思法则—金字塔原理

强调先总后分的立体化思维

纵向结构+横向结构

隐性思维显性化

理解:如何打破“只可意会,不可言传”

面对纷繁复杂的问题,有自己审视问题的坐标系

隐性思维显性化,有效分析信息真伪

任何复杂信息都可以用一句话概括

花露水的前世今生视频:

现在的很多东西在以前是奢侈品,比如花露水

花露水名字由来

花露水一开始身份和地位的象征

六神[……]

阅读全文

发表在 软件能 | 留下评论

Activity启动流程简述

从Launcher启动

所谓的从Launcher就是点击手机上的app图标启动Activity,Launcher本身也是一个Activity,它启动app的首个Activity

Zygote启动了进程之后,其实就是直接进入到我们熟知的ActivityThread的main方法,然后启动个主线程Looper开始接受消息(了解Looper的应该对这部分逻辑一下子清晰了)

AMS与ActivityThread通信

创建Application

启动Activity

前面说的ActivityStackSupervisor的attachApplicati[……]

阅读全文

发表在 Android | 标签为 | 2条评论