控制台 应用程序 效率 桌面

自己动手从零写桌面操作系统GrapeOS系列教程——4.GrapeOS开发环境介绍

学习操作系统原理最好的方法是自己写一个简单的操作系统。 1. 开发环境简介 为了减少开发过程中不必要的麻烦,希望大家的开发环境尽量与我的保持一致。 我的开发环境如下: Windows10电脑一台 Visual Studio Code(最好是最新版) VirtualBox 6.0.24 CentOS ......
GrapeOS 桌面 环境 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——5.GrapeOS开发环境测试

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们已经安装配置了开发环境,在本讲中我们来测试一下开发环境是否正常。 我们的测试流程如下: 1.在Visual Studio Code中编写GrapeOS代码; 2.在CentOS中编译GrapeOS代码; 3.在QEMU中运行Gra ......
GrapeOS 桌面 环境 教程 系统

如何优化 Vue.js 应用程序

单页面应用(SPAs)当处理实时、异步数据时,可以提供丰富的、可交互的用户体验。但它们也可能很重,很臃肿,而且性能很差。在这篇文章中,我们将介绍一些前端优化技巧,以保持我们的Vue应用程序相对精简,并且只在需要的时候提供必需的JS。 注意:这里假设你对Vue和Composition API有一定的熟 ......
应用程序 程序 Vue js

聊一聊HTTPS双向认证的简单应用

背景 在三方接口对接中,偶尔会遇到需要传递证书的情况,这种方式其实是在SSL握手过程中会同时验证客户端和服务器的身份,这就是我们常说的 双向认证。 双向认证需要服务器和客户端提供身份认证,只能是服务器允许的客户方能访问,安全性相对于要高一些。 下面老黄用几个小例子来演示一下双向认证的简单应用。 准备 ......
双向 HTTPS

深入理解跳表及其在Redis中的应用

跳表可以达到和红黑树一样的时间复杂度 O(logN),且实现简单,Redis 中的有序集合对象的底层数据结构就使用了跳表。本篇文章从调表的基础概念、节点、初始化、添加方法、搜索方法以及删除方法出发,介绍了调表的完整代码以及调表在redis中的应用。 ......
Redis

前端程序员是怎么做物联网开发的

前端程序员是怎么做物联网开发的 上图是我历时一周做的在线的温湿度可视化项目,可以查看截至目前往前一天的温度、湿度变化趋势,并且实时更新当前温湿度 本文可能含有知识诅咒 概述和基础讲解 该项目用到的技术有: 前端:jq、less、echarts、mqtt.js 后端:eggjs、egg-emqtt 数 ......
前端 程序员 程序

【Oculus Interaction SDK】(九)使用控制器时显示手的模型

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
控制器 Interaction 模型 Oculus SDK

真正“搞”懂HTTP协议10之缓存控制

HTTP缓存相关的问题好像是前端面试中比较常见的问题了,上来就会问什么cache-control字段有哪些,有啥区别啥的。嗯……说实话,我觉得至少在本篇来说,HTTP缓存还算不上复杂,只是字段稍微多了点,大家用心记一下就好啦。 缓存的概念,其实在你访问互联网中的任何资源其所产生的任何链路中的每一个节 ......
缓存 HTTP

statefulset详解及为何结合headless service部署有状态应用

1.1 有状态应用管理statefulset StatefulSet(有状态集,缩写为sts)常用于部署有状态的且需要有序启动的应用程序,比如在进行SpringCloud项目容器化时,Eureka的部署是比较适合用StatefulSet部署方式的,可以给每个Eureka实例创建一个唯一且固定的标识符 ......
statefulset headless 状态 service

让人眼前一亮的应用「GitHub 热点速览」

大开眼界的一期 GitHub 热门项目,类似 Django 存在的 pynecone,搞定 Windows、Office 激活的 Microsoft-Activation-Scripts,都让我的收藏夹蠢蠢欲动。最不能错过的应该是 hyperswitch,搞定你的支付业务。当然,还有 GitHub ......
人眼 热点 GitHub

Azure Artifacts--全平台的程序包管理仓库(支持nuget)

写在前面 大部分一定规模的团队都有搭建私有nuget的需求;例如: MyGet BaGet 而我们使用的Azure DevOps 平台本身就提供了Artifacts, Artifacts不单只支持nuget包,还支持Npm、Maven、pip等; 这里简单说说nuget的Azure Devops A ......
仓库 Artifacts 程序 Azure nuget

Node.js 应用全链路追踪技术——全链路信息存储

本文主要介绍在Node.js应用中, 如何用全链路信息存储技术把全链路追踪数据存储起来,并进行相应的展示,最终实现基于业界通用 OpenTracing 标准的 Zipkin 的 Node.js 方案。 ......
链路 技术 信息 Node js

Kubernetes环境cert-manager部署与应用

本作品由Galen Suen采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。由原作者转载自个人站点。 概述 本文用于整理基于Kubernetes环境的cert-manager部署与应用,实现证书管理和Ingress启用TLS配置。 随着各相关组件版本的更新,笔者将在验证通过后 ......
cert-manager Kubernetes manager 环境 cert

Asp.Net Core中利用过滤器控制Nginx的缓存时间

前言 Web项目中很多网页资源比如html、js、css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商品列表数据,公共配置数据等,这样就可以省去很多在服务端手动实现缓存的操作 最早资源缓存大部分都用Ex ......
过滤器 缓存 时间 Nginx Core

应用部署初探:微服务的3大部署模式

在之前的文章中,我们已经充分了解了应用部署的4种常见模式(金丝雀部署、蓝绿部署、滚动部署及影子部署)。随着云原生技术逐步成熟,企业追求更为灵活和可扩展的系统,微服务架构大行其道。 微服务固然有诸多优点,但也给架构及运维工程师带来了新的挑战。在单体架构中,应用的设计、部署以及扩展都是作为一个单元进行, ......
模式

应用部署初探:3个主要阶段、4种常见模式

应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响该应用的性能、稳定性以及运行速度,因此有时会在向所有人提供更新之前,先对一小部分用户进行测试。 软件开发和用户体验的现代标准要求开发人员 ......
阶段 常见 模式

Java堆外缓存(一个很有意思的应用)

我们在开发过程中会遇到这样的场景:就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不容乐观。分析之后发现有 2 个对象特别巨大,占了总存活堆内存的 90%以上。其中第 1 大对象是本地缓存, GC 之后对象一直存活。然后不久应用就会抛出OutOfMemoryError,那怎 ......
缓存 Java

Kubernetes(k8s)控制器(一):deployment

Kubernetes(k8s)控制器(一):deployment:修改deploy副本数,Pod 水平自动扩缩HorizontalPodAutoscaler,k8s升级镜像,镜像升级历史记录 ......
控制器 Kubernetes deployment k8s 8s

Kubernetes(k8s)控制器(二):DaemonSet

Kubernetes(k8s)控制器(二):DaemonSet :创建DaemonSet ,创建daemonset 让其在k8s集群所有worker节点运行pod ,创建daemonset让其仅在某些节点上运行 Pod ......
控制器 Kubernetes DaemonSet k8s 8s

Kubernetes(k8s)控制器(三):ReplicationController

Kubernetes(k8s)控制器(三):ReplicationController:ReplicationController工作机制 ,创建ReplicationController ,扩展replicationcontroller副本数 ......

Kubernetes(k8s)控制器(四):ReplicaSet

Kubernetes(k8s)控制器(四):ReplicaSet:ReplicaSet工作原理, ReplicaSet使用场景 ,创建ReplicaSet ,扩展replicaset副本数 ......
控制器 Kubernetes ReplicaSet k8s 8s

通过一个示例形象地理解C# async await 非并行异步、并行异步、并行异步的并发量控制

前言 接上一篇 通过一个示例形象地理解C# async await异步 我在 .NET与大数据 中吐槽前同事在双层循环体中(肯定是单线程了)频繁请求es,导致接口的总耗时很长。这不能怪前同事,确实难写,会使代码复杂度增加。 评论区有人说他的理解是使用异步增加了系统吞吐能力,这个理解是正确的,但对于单 ......
示例 形象 async await

Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用

大家好,我是猫哥,好久不见!2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬…… 现在是我家娃出生的第三个月,全家人大部分的时间和精力都在他身上,结果是幸福与疲累共存。新生儿是那么的可爱,又是那么的 ......
深度 趋势 Python Rust Web

浅谈浏览器端 WebGIS 开发可能会用到的、提升效率的 js 库

前置说明 这篇介绍的在 Awesome GIS 基本上都有,经过我的筛选,在 npmjs.com 上也都能找到,方便融入日益强大的 npm 生态。不过这些库大部分都保留了全局库的形式,在非框架中也能使用。有一部分是浏览器 + NodeJS 双端可用的。 1. 与数据格式转换解析相关 1.1. 解析和 ......
效率 浏览器 WebGIS js

后端应用分层经验总结

后端应用分层是什么,例如:你用Spring MVC开发web程序、项目用三层架构分包,这些都用了分层思想。 MVC模式包含了三部分: 视图(view):负责界面显示、处理用户交互。如:前端应用 控制器(controller):协调视图层与模型层之间的相互工作。控制器接收视图层发来的请求,决定用那些模 ......
经验

腾讯出品小程序自动化测试框架【Minium】系列(五)API详解(下)

写在前面 又有好久没更新小程序自动化测试框架Minium系列文章了,主要真的太忙,尽量做到每周一更吧,还请大家能够理解! 上篇文章为大家分享关于Minium中Minium、App模块的API 使用,接下来将为大家继续分享Minium中API的使用。 Page中API的使用 data 当前页面数据, ......
框架 程序 Minium API

腾讯出品小程序自动化测试框架【Minium】系列(六)常见组件的处理

写在前面 我发现一件神奇的事,当你学一门新技术或者新的知识点遇到不会的时候,真的可以先放一放,第二天再去学习,也许说不定也就会了。 为什么这么说? 昨天文章断断续续的写了近一天,有一个组件不认识,自然也不知道该怎么处理,真的憋得脑子疼,后来一合计算了,事已至此,还是先吃饭吧,就扔一边了。 结果今天再 ......
组件 框架 常见 程序 Minium

Spring AOP与AspectJ的对比及应用

1 简介 AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中。而最流行的AOP框架分别是Spring AOP和AspectJ。 2 Spring AOP vs AspectJ Spring AOP是基于Spring IoC实现的,它解决大部分常见的需求,但它并不是一个完整的AOP解 ......
AspectJ Spring AOP

在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用

1 简介 我们进行Web API开发的时候,经常会使用Json格式的消息体,而Json格式非常灵活,不同的人会有不同的设计风格和实现,而JSON API提供了一套标准。但它并不提供直接实现。 Katharsis是JSON API的Java实现,使用它可以快速开发出Json based的Web接口,还 ......
Katharsis Spring Boot JSON API

数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python

一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 ......
数据结构 队列 大堆 原理 结构